New command -modesty_on_drive, new -as cdrecord -immed, minbuf=, modesty_on_drive=

This commit is contained in:
Thomas Schmitt 2015-07-31 16:23:08 +00:00
parent 6292e1226b
commit 9ac9a21629
16 changed files with 2936 additions and 2722 deletions

View File

@ -242,6 +242,12 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->alignment= 0; m->alignment= 0;
m->do_stream_recording= 0; m->do_stream_recording= 0;
m->dvd_obs= 0; m->dvd_obs= 0;
m->modesty_on_drive= 0;
m->min_buffer_usec= -1;
m->max_buffer_usec= -1;
m->buffer_timeout_sec= -1;
m->min_buffer_percent= 65;
m->max_buffer_percent= 95;
m->stdio_sync= 0; m->stdio_sync= 0;
m->stdio_sync_is_default= 1; m->stdio_sync_is_default= 1;
m->keep_boot_image= 0; m->keep_boot_image= 0;

View File

@ -78,6 +78,9 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
"\t-isosize\tUse iso9660 file system size for next data track", "\t-isosize\tUse iso9660 file system size for next data track",
"\t-pad\t\tpadsize=30k", "\t-pad\t\tpadsize=30k",
"\t-nopad\t\tDo not pad", "\t-nopad\t\tDo not pad",
"\tminbuf=\t\tKeep drive buffer hungry",
"\tmodesty_on_drive=\tLike minbuf=, but with more parameters",
"\t-immed\t\tEquivalent to minbuf=75",
"\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE", "\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE",
"\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE", "\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE",
"\tstream_recording=on|number\ttry to get full speed on DVD-RAM, BD", "\tstream_recording=on|number\ttry to get full speed on DVD-RAM, BD",
@ -120,10 +123,10 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"timeout=", "debug=", "kdebug=", "kd=", "driver=", "ts=", "timeout=", "debug=", "kdebug=", "kd=", "driver=", "ts=",
"pregap=", "defpregap=", "mcn=", "isrc=", "index=", "textfile=", "pregap=", "defpregap=", "mcn=", "isrc=", "index=", "textfile=",
"pktsize=", "cuefile=", "pktsize=", "cuefile=",
"gracetime=", "minbuf=", "gracetime=",
"assert_write_lba=", "fifo_start_at=", "dev_translation=", "assert_write_lba=", "fifo_start_at=", "dev_translation=",
"drive_scsi_dev_family=", "fallback_program=", "modesty_on_drive=", "drive_scsi_dev_family=", "fallback_program=",
"tao_to_sao_tsize=", "tao_to_sao_tsize=",
"direct_write_amount=", "msifile=", "direct_write_amount=", "msifile=",
@ -332,6 +335,17 @@ no_volunteer:;
strncmp(argpt, "stream_recording=", 17)==0) { strncmp(argpt, "stream_recording=", 17)==0) {
cpt= strchr(argpt, '=')+1; cpt= strchr(argpt, '=')+1;
Xorriso_option_stream_recording(xorriso, cpt, 0); Xorriso_option_stream_recording(xorriso, cpt, 0);
} else if(strcmp(argpt, "-immed") == 0) {
Xorriso_option_modesty_on_drive(xorriso, "75", 0);
} else if(strncmp(argpt, "-minbuf=", 8) == 0 ||
strncmp(argpt, "minbuf=", 7) == 0 ||
strncmp(argpt, "-modesty_on_drive=", 18) == 0 ||
strncmp(argpt, "modesty_on_drive=", 17) == 0) {
cpt= strchr(argpt, '=') + 1;
Xorriso_option_modesty_on_drive(xorriso, cpt, 0);
} else if(strncmp(argpt, "-stdio_sync=", 12)==0 || } else if(strncmp(argpt, "-stdio_sync=", 12)==0 ||
strncmp(argpt, "stdio_sync=", 11)==0) { strncmp(argpt, "stdio_sync=", 11)==0) {
cpt= strchr(argpt, '=') + 1; cpt= strchr(argpt, '=') + 1;

View File

@ -1644,7 +1644,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -rom_toc_scan \"on\"|\"force\"|\"off\"[:\"emul_on\"|\"emul_off\"]", " -rom_toc_scan \"on\"|\"force\"|\"off\"[:\"emul_on\"|\"emul_off\"]",
" [:\"emul_wide\"|\"emul_narrow\"]", " [:\"emul_wide\"|\"emul_narrow\"]",
" Enable scanning for ISO sessions on read-only drives/media", " Enable scanning for ISO sessions on read-only drives/media",
" resp. on overwriteable media with emulated TOC.", " and on overwriteable media with emulated TOC.",
" -calm_drive \"in\"|\"out\"|\"all\"|\"on\"|\"off\"", " -calm_drive \"in\"|\"out\"|\"all\"|\"on\"|\"off\"",
" Reduce drive noise until it gets actually used again.", " Reduce drive noise until it gets actually used again.",
" -assert_volid pattern severity", " -assert_volid pattern severity",
@ -1660,21 +1660,21 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -local_charset name", " -local_charset name",
" Override system assumption of the local character set name.", " Override system assumption of the local character set name.",
" -hardlinks mode[:mode ...]", " -hardlinks mode[:mode ...]",
" Enable resp. disable recording and restoring of hard links.", " Enable or disable recording and restoring of hard links.",
" Modes are \"on\", \"off\", \"perform_update\",", " Modes are \"on\", \"off\", \"perform_update\",",
" \"without_update\", \"discard_extract\",", " \"without_update\", \"discard_extract\",",
" \"cheap_sorted_extract\", \"normal_extract\"", " \"cheap_sorted_extract\", \"normal_extract\"",
" -acl \"on\"|\"off\"", " -acl \"on\"|\"off\"",
" Enable resp. disable reading and writing of ACLs.", " Enable or disable reading and writing of ACLs.",
" -xattr \"on\"|\"off\"", " -xattr \"on\"|\"off\"",
" Enable resp. disable reading and writing of xattr.", " Enable or disable reading and writing of xattr.",
" -for_backup", " -for_backup",
" Shortcut for: -hardlinks on -acl on -xattr on -md5 on", " Shortcut for: -hardlinks on -acl on -xattr on -md5 on",
" -disk_dev_ino \"on\"|\"ino_only\"|\"off\"", " -disk_dev_ino \"on\"|\"ino_only\"|\"off\"",
" Enable resp. disable recording of disk file dev_t and ino_t", " Enable or disable recording of disk file dev_t and ino_t",
" and their use in file comparison.", " and their use in file comparison.",
" -md5 \"on\"|\"all\"|\"off\"", " -md5 \"on\"|\"all\"|\"off\"",
" Enable resp. disable processing of MD5 checksums.", " Enable or disable processing of MD5 checksums.",
" -scdbackup_tag list_path record_name", " -scdbackup_tag list_path record_name",
" Enable production of scdbackup tag with -md5 on", " Enable production of scdbackup tag with -md5 on",
" -ban_stdio_write", " -ban_stdio_write",
@ -1684,7 +1684,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -data_cache_size number_of_tiles blocks_per_tile", " -data_cache_size number_of_tiles blocks_per_tile",
" Adjust size and granularity of the data read cache.", " Adjust size and granularity of the data read cache.",
" -blank [\"force:\"]\"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"", " -blank [\"force:\"]\"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
" Blank medium resp. invalidate ISO image on medium.", " Blank medium or invalidate ISO image on medium.",
" Prefix \"force:\" overrides medium evaluation.", " Prefix \"force:\" overrides medium evaluation.",
" -close_damaged \"as_needed\"|\"force\"", " -close_damaged \"as_needed\"|\"force\"",
" Close track and session of damaged medium.", " Close track and session of damaged medium.",
@ -1794,7 +1794,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -list_speeds Show media specific list of write speed descriptors.", " -list_speeds Show media specific list of write speed descriptors.",
"", "",
" -list_profiles \"in\"|\"out\"|\"all\"", " -list_profiles \"in\"|\"out\"|\"all\"",
" Show list of media types supported by indev resp. outdev.", " Show list of media types supported by indev and/or outdev.",
" -print_size Print the foreseeable consumption by next -commit.", " -print_size Print the foreseeable consumption by next -commit.",
"", "",
" -tell_media_space", " -tell_media_space",
@ -1827,7 +1827,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
"iso_rr_path is the Rock Ridge name of a file object in the ISO image.", "iso_rr_path is the Rock Ridge name of a file object in the ISO image.",
"pathspec is either a disk_path or (if allowed) a pair: iso_rr_path=disk_path", "pathspec is either a disk_path or (if allowed) a pair: iso_rr_path=disk_path",
"Commands marked by [***] have variable length parameter lists and perform", "Commands marked by [***] have variable length parameter lists and perform",
"pattern expansion if enabled by -iso_rr_pattern resp. -disk_pattern.", "pattern expansion if enabled by -iso_rr_pattern or -disk_pattern.",
"", "",
" -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ", " -pathspecs \"on\"|\"off\" Allow or disallow pathspecs of form ",
" iso_rr_path=disk_path . Only \"off\" allows eventual", " iso_rr_path=disk_path . Only \"off\" allows eventual",
@ -1836,7 +1836,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Insert the given files or directory trees from", " Insert the given files or directory trees from",
" filesystem into the ISO image. Much like mkisofs.", " filesystem into the ISO image. Much like mkisofs.",
" -add_plainly \"none\"|\"unknown\"|\"dashed\"|\"any\"", " -add_plainly \"none\"|\"unknown\"|\"dashed\"|\"any\"",
" Whether to add lonely arguments as pathspec resp. disk_path.", " Whether to add lonely arguments as pathspec or disk_path.",
" -path_list disk_path", " -path_list disk_path",
" Like -add but read the pathspecs from file disk_path.", " Like -add but read the pathspecs from file disk_path.",
" -quoted_path_list disk_path", " -quoted_path_list disk_path",
@ -2028,6 +2028,11 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" Set the burn speed. Default is \"max\" = maximum speed.", " Set the burn speed. Default is \"max\" = maximum speed.",
" -stream_recording \"on\"|\"off\"", " -stream_recording \"on\"|\"off\"",
" Try to circumvent slow checkread on DVD-RAM, BD-RE, BD-R.", " Try to circumvent slow checkread on DVD-RAM, BD-RE, BD-R.",
" -modesty_on_drive [\"on\"|\"off\"|min_percent_number]",
" [:\"min_percent=\"number][:\"max_percent=\"number]",
" [:\"min_usec=\"number][:\"max_usec\"=number]",
" [:\"timeout_sec=\"number]",
" Keep drive buffer hungry to ease concurrent burn run.",
" -dvd_obs \"default\"|\"32k\"|\"64k\"", " -dvd_obs \"default\"|\"32k\"|\"64k\"",
" Set number of bytes per DVD/BD write operation.", " Set number of bytes per DVD/BD write operation.",
" -stdio_sync \"on\"|\"off\"|\"end\"|number", " -stdio_sync \"on\"|\"off\"|\"end\"|number",
@ -2036,8 +2041,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -fs number[\"k\"|\"m\"]", " -fs number[\"k\"|\"m\"]",
" Set the size of the fifo buffer. (Default is 4m)", " Set the size of the fifo buffer. (Default is 4m)",
" -eject \"in\"|\"out\"|\"all\"", " -eject \"in\"|\"out\"|\"all\"",
" Immediately eject the medium in -indev, resp. -outdev,", " Immediately eject the medium in -indev, -outdev, or both.",
" resp. both.",
"", "",
"Navigation commands:", "Navigation commands:",
"", "",
@ -2273,7 +2277,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -print_mark text", " -print_mark text",
" Print a text to mark channel.", " Print a text to mark channel.",
" -prompt text", " -prompt text",
" Wait for Enter key resp. for a line of input at stdin.", " Wait for Enter key or for a line of input at stdin.",
" -sleep number", " -sleep number",
" Do nothing during the given number of seconds.", " Do nothing during the given number of seconds.",
" -errfile_log mode path|channel", " -errfile_log mode path|channel",

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2013 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2015 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -799,6 +799,94 @@ ex:;
} }
int Xorriso_option_modesty_on_drive(struct XorrisO *xorriso, char *mode,
int flag)
{
char *npt, *cpt, *ppt;
int l, num, set_min;
npt= cpt= mode;
for(; npt!=NULL; cpt= npt+1) {
npt= strchr(cpt,':');
if(npt==NULL)
l= strlen(cpt);
else
l= npt-cpt;
if(l == 0)
continue;
if(l == 3 && strncmp(cpt, "off", l) == 0) {
xorriso->modesty_on_drive= 0;
} else if(l == 1 && strncmp(cpt, "0", l) == 0) {
xorriso->modesty_on_drive= 0;
} else if(l == 2 && strncmp(cpt, "on", l) == 0) {
xorriso->modesty_on_drive= 1;
} else if(l == 1 && strncmp(cpt, "1", l) == 0) {
xorriso->modesty_on_drive= 1;
} else if(l == 2 && strncmp(cpt, "-1", l) == 0) {
;
} else if(*cpt >= '1' && *cpt <= '9') {
ppt= cpt;
set_min= 2;
set_size_percent:;
sscanf(ppt, "%d", &num);
if(num == -1) {
;
} else if(num < 25) {
bad_percent:;
sprintf(xorriso->info_text, "-modesty_on_drive: percentage out of range [25 to 100]");
Text_shellsafe(cpt, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
} else if(num > 100) {
goto bad_percent;
}
if(set_min == 2) {
xorriso->modesty_on_drive= 1;
}
if(set_min)
xorriso->min_buffer_percent= num;
else
xorriso->max_buffer_percent= num;
} else if(l >= 12 && strncmp(cpt, "min_percent=", 12) == 0) {
ppt= cpt + 12;
set_min= 1;
goto set_size_percent;
} else if(l >= 12 && strncmp(cpt, "max_percent=", 12) == 0) {
ppt= cpt + 12;
set_min= 0;
goto set_size_percent;
} else if(l >= 8 && strncmp(cpt, "min_usec=", 8) == 0) {
ppt= cpt + 8;
set_min= 1;
set_sec:;
sscanf(ppt, "%d", &num);
if(num < 0)
num= 0;
if(set_min == 1)
xorriso->min_buffer_usec= num;
else if(set_min == 0)
xorriso->max_buffer_percent= num;
else
xorriso->buffer_timeout_sec= num;
} else if(l >= 8 && strncmp(cpt, "max_usec=", 8) == 0) {
ppt= cpt + 8;
set_min= 0;
goto set_sec;
} else if(l >= 11 && strncmp(cpt, "timeout_sec=", 11) == 0) {
ppt= cpt + 11;
set_min= -1;
goto set_sec;
} else {
sprintf(xorriso->info_text, "-modesty_on_drive: unknown mode ");
Text_shellsafe(cpt, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);
}
}
return(1);
}
/* Options -mount , -mount_cmd , -session_string */ /* Options -mount , -mount_cmd , -session_string */
/* @param bit0= -mount_cmd: print mount command to result channel rather /* @param bit0= -mount_cmd: print mount command to result channel rather
than performing it than performing it
@ -1151,7 +1239,7 @@ int Xorriso_option_no_rc(struct XorrisO *xorriso, int flag)
} }
/* Option -not_leaf , (-hide_disk_leaf resp. -as mkisofs -hide) */ /* Option -not_leaf , (-hide_disk_leaf , -as mkisofs -hide) */
/* @param flag bit0-bit5= hide rather than adding to disk_exclusions /* @param flag bit0-bit5= hide rather than adding to disk_exclusions
bit0= add to iso_rr_hidings bit0= add to iso_rr_hidings
bit1= add to joliet_hidings bit1= add to joliet_hidings
@ -1323,7 +1411,7 @@ ex:;
} }
/* Option -not_paths , (-hide_disk_paths resp. -as mkisofs -hide) */ /* Option -not_paths , (-hide_disk_paths , -as mkisofs -hide) */
/* @param flag bit0= add to iso_rr_hidings rather than disk_exclusions /* @param flag bit0= add to iso_rr_hidings rather than disk_exclusions
bit1= add to joliet_hidings rather than disk_exclusions bit1= add to joliet_hidings rather than disk_exclusions
bit2= enable disk pattern expansion regardless of -disk_pattern bit2= enable disk pattern expansion regardless of -disk_pattern

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2013 Thomas Schmitt, <scdbackup@gmx.net> Copyright 2007-2015 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
@ -526,7 +526,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
"iso_rr_pattern","follow","format","fs","gid","grow_blindly","hardlinks", "iso_rr_pattern","follow","format","fs","gid","grow_blindly","hardlinks",
"hfsplus","history","indev","in_charset","joliet", "hfsplus","history","indev","in_charset","joliet",
"list_delimiter","list_extras","list_profiles","local_charset", "list_delimiter","list_extras","list_profiles","local_charset",
"mark","md5","mount_opts","not_leaf","not_list","not_mgt", "mark","md5","mount_opts","modesty_on_drive",
"not_leaf","not_list","not_mgt",
"options_from_file","osirrox","outdev","out_charset","overwrite", "options_from_file","osirrox","outdev","out_charset","overwrite",
"pacifier","padding","path_list","pathspecs","pkt_output", "pacifier","padding","path_list","pathspecs","pkt_output",
"preparer_id","print","print_info","print_mark","prompt", "preparer_id","print","print_info","print_mark","prompt",
@ -728,6 +729,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
"abstract_file", "biblio_file", "preparer_id", "application_use", "abstract_file", "biblio_file", "preparer_id", "application_use",
"out_charset", "read_mkisofsrc", "out_charset", "read_mkisofsrc",
"uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs", "uid", "gid", "zisofs", "speed", "stream_recording", "dvd_obs",
"modesty_on_drive",
"stdio_sync", "dummy", "fs", "close", "padding", "write_type", "stdio_sync", "dummy", "fs", "close", "padding", "write_type",
"grow_blindly", "pacifier", "scdbackup_tag", "grow_blindly", "pacifier", "scdbackup_tag",
@ -1456,6 +1458,13 @@ next_command:;
(*idx)++; (*idx)++;
ret= Xorriso_option_md5(xorriso, arg1, 0); ret= Xorriso_option_md5(xorriso, arg1, 0);
} else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) {
ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd, "modesty_on_drive")==0) {
(*idx)++;
ret= Xorriso_option_modesty_on_drive(xorriso, arg1, 0);
} else if(strcmp(cmd, "mount") == 0 || strcmp(cmd, "mount_cmd") == 0) { } else if(strcmp(cmd, "mount") == 0 || strcmp(cmd, "mount_cmd") == 0) {
(*idx)+= 4; (*idx)+= 4;
if((*idx)>argc) { if((*idx)>argc) {
@ -1484,9 +1493,6 @@ next_command:;
} else if(strcmp(cmd,"mv")==0 || strcmp(cmd,"mvi")==0) { } else if(strcmp(cmd,"mv")==0 || strcmp(cmd,"mvi")==0) {
ret= Xorriso_option_mvi(xorriso, argc, argv, idx, 0); ret= Xorriso_option_mvi(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd,"mkdir")==0 || strcmp(cmd,"mkdiri")==0) {
ret= Xorriso_option_mkdiri(xorriso, argc, argv, idx, 0);
} else if(strcmp(cmd,"named_pipe_loop")==0) { } else if(strcmp(cmd,"named_pipe_loop")==0) {
if((*idx) + 3 < argc) if((*idx) + 3 < argc)
arg4= argv[(*idx) + 3]; arg4= argv[(*idx) + 3];

View File

@ -3349,6 +3349,30 @@ 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->modesty_on_drive == 0 &&
xorriso->min_buffer_usec == -1 &&
xorriso->max_buffer_usec == -1 &&
xorriso->buffer_timeout_sec == -1 &&
xorriso->min_buffer_percent == 65 &&
xorriso->max_buffer_percent == 95);
if(xorriso->modesty_on_drive == 0)
strcpy(mode, "off");
else if(xorriso->modesty_on_drive == 1)
strcpy(mode, "on");
else
sprintf(mode, "%d", xorriso->modesty_on_drive);
sprintf(mode + strlen(mode), ":min_percent=%d", xorriso->min_buffer_percent);
sprintf(mode + strlen(mode), ":max_percent=%d", xorriso->max_buffer_percent);
if(xorriso->buffer_timeout_sec >= 0)
sprintf(mode + strlen(mode), ":timeout_sec=%d", xorriso->buffer_timeout_sec);
if(xorriso->min_buffer_usec >= 0)
sprintf(mode + strlen(mode), ":min_usec=%d", xorriso->min_buffer_usec);
if(xorriso->max_buffer_usec >= 0)
sprintf(mode + strlen(mode), ":max_usec=%d", xorriso->max_buffer_usec);
sprintf(line,"-modesty_on_drive %s\n", mode);
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->dvd_obs == 0); is_default= (xorriso->dvd_obs == 0);
strcpy(mode, "default"); strcpy(mode, "default");
if(xorriso->dvd_obs == 32768 || xorriso->dvd_obs == 65536) if(xorriso->dvd_obs == 32768 || xorriso->dvd_obs == 65536)

View File

@ -165,6 +165,12 @@ int Xorriso_make_write_options(
if(xorriso->write_speed != -2) if(xorriso->write_speed != -2)
burn_drive_set_speed(drive, 0, xorriso->write_speed); burn_drive_set_speed(drive, 0, xorriso->write_speed);
burn_drive_set_buffer_waiting(drive, xorriso->modesty_on_drive,
xorriso->min_buffer_usec,
xorriso->max_buffer_usec,
xorriso->buffer_timeout_sec,
xorriso->min_buffer_percent,
xorriso->max_buffer_percent);
if(xorriso->do_stream_recording == 1) if(xorriso->do_stream_recording == 1)
stream_mode= 1; stream_mode= 1;
else if(xorriso->do_stream_recording == 2) else if(xorriso->do_stream_recording == 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 XORRECORD 1 "Version 1.4.1, May 17, 2015" .TH XORRECORD 1 "Version 1.4.1, Jul 30, 2015"
.\" 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:
@ -100,8 +100,8 @@ device file.
On Solaris, the user needs r\-permission and privilege "sys_devices", On Solaris, the user needs r\-permission and privilege "sys_devices",
which is usually gained by running \fBxorrecord\fR via command pfexec. which is usually gained by running \fBxorrecord\fR via command pfexec.
.br .br
These permissions resp. privileges are needed already for listing a drive. These permissions or privileges are needed already for listing a drive.
So it might be necessary to get the overview as superuser resp. via pfexec. So it might be necessary to get the overview as superuser or via pfexec.
.br .br
\fBxorrecord\fR does not perform cdrecord option \-scanbus and does \fBxorrecord\fR does not perform cdrecord option \-scanbus and does
not accept the addresses of form Bus,Target,Lun which are told by \-scanbus. not accept the addresses of form Bus,Target,Lun which are told by \-scanbus.
@ -128,7 +128,7 @@ to generic xorriso command mode. See \fBman xorriso\fR for its description.
Other than in xorriso command mode, the sequence of the cdrecord emulation Other than in xorriso command mode, the sequence of the cdrecord emulation
options does not matter. options does not matter.
All pending actions get performed in a fixed sequence before the program All pending actions get performed in a fixed sequence before the program
run ends resp. before cdrecord emulation ends. run ends or before cdrecord emulation ends.
.SS .SS
.br .br
.SH OPTIONS .SH OPTIONS
@ -471,6 +471,16 @@ MMC drives usually activate their own idea of speed and take
the speed value given by the burn program only as a hint the speed value given by the burn program only as a hint
for their own decision. for their own decision.
.TP .TP
\fBminbuf=percentage\fR
Equivalent to:
.br
modesty_on_drive=<percentage>
.TP
\fB\-immed\fR
Equivalent to:
.br
modesty_on_drive=75
.TP
\fB\-eject\fR \fB\-eject\fR
Eject the drive tray after alll other work is done. Eject the drive tray after alll other work is done.
.TP .TP
@ -490,7 +500,7 @@ Afterwards end emulation without performing any drive operation.
\fB\-v\fR \fB\-v\fR
Increase program verbosity by one level. There are four verbosity levels Increase program verbosity by one level. There are four verbosity levels
from nearly silent to debugging verbosity. The both highest levels can from nearly silent to debugging verbosity. The both highest levels can
be enabled by repeated \-v or by \-vv resp. \-vvv. be enabled by repeated \-v or by \-vv or by \-vvv.
.TP .TP
\fB\-V\fR \fB\-V\fR
Log SCSI commands and drive replies to standard error. Log SCSI commands and drive replies to standard error.
@ -569,6 +579,44 @@ size. A number of 64 KB may improve throughput with bus systems which
show latency problems. The default depends on media type, option show latency problems. The default depends on media type, option
stream_recording=, and on compile time options. stream_recording=, and on compile time options.
.TP .TP
\fBmodesty_on_drive=parameter[:parameters]\fR
Control whether the drive buffer shall be kept from getting completely filled.
Parameter "on" (or "1") keeps the program from trying to write to the burner
drive while its buffer is in danger to be filled over a given limit.
If this filling is exceeded then the program will wait until the filling
reaches a given low percentage value.
.br
This can ease the load on operating system and drive controller and thus help
with achieving better input bandwidth if disk and burner are not on independent
controllers (like hda and hdb). It may also help with simultaneous burns on
different burners with Linux kernels like 3.16. On the other hand it increases
the risk of buffer underflow and thus reduced write speed.
.br
Some burners are not suitable because they
report buffer fill with granularity too coarse in size or time,
or expect their buffer to be filled to the top before they go to full speed.
.br
Parameters "off" or "0" disable this feature.
.br
The threshhold for beginning to wait is given by parameter "max_percent=".
Parameter "min_percent=" defines the threshhold for resuming transmission.
Percentages are permissible in the range of 25 to 100. Numbers in this
range without a prepended name are interpreted as "on:min_percent=".
.br
E.g.: modesty_on_drive=75
.br
The optimal values depend on the buffer behavior of the drive.
.br
There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=".
Read the description of burn_drive_set_buffer_waiting() in libburn.h,
before setting them to non\-default values.
.br
Parameters, which are not mentioned with a modesty_on_drive= option,
stay unchanged.
Default is:
.br
modesty_on_drive=off:min_percent=65:max_percent=95
.TP
\fBwrite_start_address=value\fR \fBwrite_start_address=value\fR
Set the block address on overwritable media where to start writing the track. Set the block address on overwritable media where to start writing the track.
With DVD+RW, DVD\-RAM or BD\-RE, byte_offset must be aligned to 2 kiB blocks, With DVD+RW, DVD\-RAM or BD\-RE, byte_offset must be aligned to 2 kiB blocks,
@ -759,7 +807,7 @@ please send electronic mail to the public list <bug\-xorriso@gnu.org>.
If more privacy is desired, mail to <scdbackup@gmx.net>. If more privacy is desired, mail to <scdbackup@gmx.net>.
.br .br
Please describe what you expect \fBxorriso\fR to do, Please describe what you expect \fBxorriso\fR to do,
the program arguments resp. commands by which you tried to achieve it, the program arguments or dialog commands by which you tried to achieve it,
the messages of \fBxorriso\fR, and the undesirable outcome of your the messages of \fBxorriso\fR, and the undesirable outcome of your
program run. program run.
.br .br

View File

@ -1,16 +1,15 @@
This is xorrecord.info, produced by makeinfo version 4.8 from This is xorrecord.info, produced by makeinfo version 5.2 from
./xorrecord.texi. xorrecord.texi.
INFO-DIR-SECTION Archiving xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso
START-INFO-DIR-ENTRY
* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord
END-INFO-DIR-ENTRY
xorrecord - Emulation of CD/DVD/BD program cdrecord by program
xorriso
Copyright (C) 2011 - 2015 Thomas Schmitt Copyright (C) 2011 - 2015 Thomas Schmitt
Permission is granted to distrubute this text freely. Permission is granted to distrubute this text freely.
INFO-DIR-SECTION Archiving
START-INFO-DIR-ENTRY
* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord
END-INFO-DIR-ENTRY
 
File: xorrecord.info, Node: Top, Next: Overview, Up: (dir) File: xorrecord.info, Node: Top, Next: Overview, Up: (dir)
@ -19,7 +18,6 @@ xorrecord 1.4.1
*************** ***************
xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso
* Menu: * Menu:
* Overview:: Overview * Overview:: Overview
@ -41,14 +39,14 @@ File: xorrecord.info, Node: Overview, Next: Standards, Prev: Top, Up: Top
1 Overview 1 Overview
********** **********
`xorrecord' writes preformatted data to CD, DVD, and BD media. 'xorrecord' writes preformatted data to CD, DVD, and BD media.
It understands some options of program cdrecord from cdrtools by Joerg It understands some options of program cdrecord from cdrtools by
Schilling. Its implementation is part of program xorriso which shares Joerg Schilling. Its implementation is part of program xorriso which
no source code with cdrtools, but rather makes use of libburn for shares no source code with cdrtools, but rather makes use of libburn for
communicating with the drive. communicating with the drive.
Another, more complete cdrecord emulator is program *cdrskin* which Another, more complete cdrecord emulator is program *cdrskin* which
uses the same burn functions as *xorrecord*, but is able to burn audio uses the same burn functions as *xorrecord*, but is able to burn audio
CDs and to handle CD-TEXT. CDs and to handle CD-TEXT.
@ -58,15 +56,15 @@ File: xorrecord.info, Node: Standards, Next: Drive, Prev: Overview, Up: Top
2 MMC, Session, Track, Media types 2 MMC, Session, Track, Media types
********************************** **********************************
*MMC* is a standard out of the SCSI family which defines the *MMC* is a standard out of the SCSI family which defines the interaction
interaction between computers and optical drives. Since more than a between computers and optical drives. Since more than a decade all CD,
decade all CD, DVD, or BD recorders obey this standard regardless by DVD, or BD recorders obey this standard regardless by what bus cabling
what bus cabling they are attached to the computer. libburn relies on they are attached to the computer. libburn relies on this standard
this standard compliance and on the capability of the operating system compliance and on the capability of the operating system to perform SCSI
to perform SCSI transactions over the particular bus cabling. transactions over the particular bus cabling.
A *Session* is a data region on an optical disc which usually gets A *Session* is a data region on an optical disc which usually gets
written in a single sweep. It contains at least one *Track* which is a written in a single sweep. It contains at least one *Track* which is a
contiguous string of readable blocks. `xorrecord' produces a single contiguous string of readable blocks. 'xorrecord' produces a single
session with a single data track which consists of blocks with 2048 session with a single data track which consists of blocks with 2048
bytes each. It chooses the write mode automatically according to media bytes each. It chooses the write mode automatically according to media
type, medium state, and option -multi. type, medium state, and option -multi.
@ -75,16 +73,16 @@ write modes like TAO and SAO. CD and DVD- media can put more than one
track into a session. Some of these features can be addressed by track into a session. Some of these features can be addressed by
program *cdrskin*. program *cdrskin*.
MMC describes several recordable *media types* which roughly form two MMC describes several recordable *media types* which roughly form two
families. families.
*Sequentially recordable media* are CD-R, CD-RW, DVD-R, DVD-R DL, *Sequentially recordable media* are CD-R, CD-RW, DVD-R, DVD-R DL,
DVD-RW, DVD+R, DVD+R DL, BD-R. Except DVD-R DL they can store more DVD-RW, DVD+R, DVD+R DL, BD-R. Except DVD-R DL they can store more than
than one session if there is still unwritten space and if the previous one session if there is still unwritten space and if the previous
session was written with option *-multi*. CD-RW and DVD-RW can be session was written with option *-multi*. CD-RW and DVD-RW can be
blanked in order to be re-usable from scratch. blanked in order to be re-usable from scratch.
*Overwritable media* are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. *Overwritable media* are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. They
They offer a single session with a single track for random access offer a single session with a single track for random access writing.
writing. There is no need to blank overwritable media before re-use. There is no need to blank overwritable media before re-use.
DVD-RW media are sold in sequentially recordable state but can be DVD-RW media are sold in sequentially recordable state but can be
formatted once to become overwritable. See options formatted once to become overwritable. See options
*blank=format_overwrite* and *blank=deformat*. *blank=format_overwrite* and *blank=deformat*.
@ -101,20 +99,21 @@ File: xorrecord.info, Node: Drive, Next: Xorriso, Prev: Standards, Up: Top
The drives, CD, DVD, or BD burners, are accessed via file addresses The drives, CD, DVD, or BD burners, are accessed via file addresses
which are specific to libburn and the operating system. Those addresses which are specific to libburn and the operating system. Those addresses
get listed by a run of `xorrecord --devices' or `xorriso -device_links'. get listed by a run of 'xorrecord --devices' or 'xorriso -device_links'.
On GNU/Linux, FreeBSD, and NetBSD, the user needs rw-permission for the On GNU/Linux, FreeBSD, and NetBSD, the user needs rw-permission for the
device file. On Solaris, the user needs r-permission and privilege device file. On Solaris, the user needs r-permission and privilege
"sys_devices", which is usually gained by running `xorrecord' via "sys_devices", which is usually gained by running 'xorrecord' via
command pfexec. command pfexec.
These permissions resp. privileges are needed already for listing a These permissions or privileges are needed already for listing a drive.
drive. So it might be necessary to get the overview as superuser resp. So it might be necessary to get the overview as superuser or via pfexec.
via pfexec.
`xorrecord' does not perform cdrecord option -scanbus and does not 'xorrecord' does not perform cdrecord option -scanbus and does not
accept the addresses of form Bus,Target,Lun which are told by -scanbus. accept the addresses of form Bus,Target,Lun which are told by -scanbus.
If support for these addresses is necessary, consider to use program If support for these addresses is necessary, consider to use program
cdrskin. cdrskin.
It is possible to let `xorrecord' work on emulated drives. Their It is possible to let 'xorrecord' work on emulated drives. Their
addresses begin by prefix "stdio:" followed by a file address. The addresses begin by prefix "stdio:" followed by a file address. The
emulated media behavior depends on the file type. See man xorriso for emulated media behavior depends on the file type. See man xorriso for
details. details.
@ -128,7 +127,7 @@ File: xorrecord.info, Node: Xorriso, Next: Options, Prev: Drive, Up: Top
4 Relation to program xorriso 4 Relation to program xorriso
***************************** *****************************
`xorrecord' is actually a command mode of program *xorriso*, which gets 'xorrecord' is actually a command mode of program *xorriso*, which gets
entered either by xorriso command "-as cdrecord" or by starting the entered either by xorriso command "-as cdrecord" or by starting the
program by one of the names "xorrecord", "cdrecord", "wodim", or program by one of the names "xorrecord", "cdrecord", "wodim", or
"cdrskin". "cdrskin".
@ -136,8 +135,7 @@ This command mode can be left by argument "--" which leads to generic
xorriso command mode. See *man xorriso* for its description. Other xorriso command mode. See *man xorriso* for its description. Other
than in xorriso command mode, the sequence of the cdrecord emulation than in xorriso command mode, the sequence of the cdrecord emulation
options does not matter. All pending actions get performed in a fixed options does not matter. All pending actions get performed in a fixed
sequence before the program run ends resp. before cdrecord emulation sequence before the program run ends or before cdrecord emulation ends.
ends.
 
File: xorrecord.info, Node: Options, Next: Examples, Prev: Xorriso, Up: Top File: xorrecord.info, Node: Options, Next: Examples, Prev: Xorriso, Up: Top
@ -173,7 +171,6 @@ File: xorrecord.info, Node: DriveAddr, Next: Inquire, Prev: Options, Up: Opt
this case: a DVD burner). this case: a DVD burner).
Afterwards end emulation without performing any further drive Afterwards end emulation without performing any further drive
operation. operation.
dev=drive_address dev=drive_address
Set the libburn address of the drive to be used. Set the libburn address of the drive to be used.
E.g. on GNU/Linux: dev=/dev/sr0 E.g. on GNU/Linux: dev=/dev/sr0
@ -197,11 +194,9 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt
-inq -inq
Print to standard output: vendor, model name, and firmware revision Print to standard output: vendor, model name, and firmware revision
of the drive. of the drive.
-checkdrive -checkdrive
Print unconditionally that the drive supports burnfree, SAO, and Print unconditionally that the drive supports burnfree, SAO, and
TAO. Also print the output of option -inq. TAO. Also print the output of option -inq.
-atip -atip
Print the output of -checkdrive, the most capable profile of the Print the output of -checkdrive, the most capable profile of the
medium in the drive, the list of profiles which are supported by medium in the drive, the list of profiles which are supported by
@ -210,11 +205,10 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt
Profiles are usage models, which are often tied to a particular Profiles are usage models, which are often tied to a particular
media type (e.g. CD-RW), but may also apply to a family of media. media type (e.g. CD-RW), but may also apply to a family of media.
E.g. profile CD-ROM applies to all CD media which contain data. E.g. profile CD-ROM applies to all CD media which contain data.
-toc -toc
Print a table of content of the medium in the drive. The output is Print a table of content of the medium in the drive. The output is
not compatible to cdrecord option -toc, but rather the one of not compatible to cdrecord option -toc, but rather the one of
`xorriso' command -toc. It lists the address, vendor, model name, 'xorriso' command -toc. It lists the address, vendor, model name,
and firmware revision of the drive. and firmware revision of the drive.
About the medium it tells product name and manufacturer, whether About the medium it tells product name and manufacturer, whether
there is already content written, and if so, whether the medium is there is already content written, and if so, whether the medium is
@ -227,13 +221,11 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt
If not option *-grow_overwriteable_iso* is given or no ISO 9660 If not option *-grow_overwriteable_iso* is given or no ISO 9660
file system is present on the medium, then overwritable media are file system is present on the medium, then overwritable media are
reported as being blank. This is due to the fact that they can be reported as being blank. This is due to the fact that they can be
written from scratch without further preparation, and that MMC written from scratch without further preparation, and that MMC does
does not distinguish between data written by the most previous not distinguish between data written by the most previous burn run
burn run and older data which have not been overwritten by that and older data which have not been overwritten by that burn run.
burn run. Consequently, these media are reported with 0 readable Consequently, these media are reported with 0 readable blocks,
blocks, although all their writable blocks normally are readable, although all their writable blocks normally are readable, too.
too.
-msinfo -msinfo
Print the argument text for option -C of programs mkisofs, Print the argument text for option -C of programs mkisofs,
genisoimage, or xorrisofs. It consists of two numbers separated by genisoimage, or xorrisofs. It consists of two numbers separated by
@ -243,7 +235,7 @@ File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Opt
when operating systems mount a medium with e.g. ISO 9660 when operating systems mount a medium with e.g. ISO 9660
filesystem. filesystem.
The second number tells the next writable address, where The second number tells the next writable address, where
`xorrecord' will begin to write the next session. 'xorrecord' will begin to write the next session.
This option is only valid for written, appendable media. In all This option is only valid for written, appendable media. In all
other cases it will yield no output text but will abort the program other cases it will yield no output text but will abort the program
with non-zero exit value. with non-zero exit value.
@ -272,15 +264,16 @@ File: xorrecord.info, Node: SetBurn, Next: Verbous, Prev: Inquire, Up: Optio
number by a scaling factor: number by a scaling factor:
"k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" "k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s"
or "S" = 2048 or "S" = 2048
E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes. E.g. tsize=234567s means a size of 234567 * 2048 = 480393216
bytes.
blank=mode blank=mode
Blank a CD-RW or DVD-RW to make it re-usable from scratch. Format Blank a CD-RW or DVD-RW to make it re-usable from scratch. Format
a DVD-RW, DVD+RW, DVD-RAM, BD-R, or BD-RE if not yet formatted. a DVD-RW, DVD+RW, DVD-RAM, BD-R, or BD-RE if not yet formatted.
This operation normally makes any recorded data on the medium This operation normally makes any recorded data on the medium
unreadable. It is combinable with burning in the same run of unreadable. It is combinable with burning in the same run of
`xorrecord', or it may be performed without a track source, 'xorrecord', or it may be performed without a track source, leaving
leaving the medium empty. the medium empty.
The mode given with blank= selects the particular behavior: The mode given with blank= selects the particular behavior:
as_needed as_needed
@ -296,15 +289,18 @@ blank=mode
all all
Blank an entire CD-RW or an unformatted DVD-RW. Blank an entire CD-RW or an unformatted DVD-RW.
fast fast
Minimally blank an entire CD-RW or blank an unformatted DVD-RW. Minimally blank an entire CD-RW or blank an unformatted DVD-RW.
deformat deformat
Like blank=all but with the additional ability to blank Like blank=all but with the additional ability to blank
overwriteable DVD-RW. This will destroy their formatting and make overwriteable DVD-RW. This will destroy their formatting and make
them sequentially recordable. them sequentially recordable.
(Note: blank=deformat is not an original cdrecord options) (Note: blank=deformat is not an original cdrecord options)
deformat_quickest deformat_quickest
Like blank=deformat but blanking DVD-RW only minimally. This is Like blank=deformat but blanking DVD-RW only minimally. This is
faster than full blanking but yields media incapable of writing faster than full blanking but yields media incapable of writing
@ -312,6 +308,7 @@ blank=mode
either. either.
(Note: blank=deformat_quickest is not an original cdrecord option.) (Note: blank=deformat_quickest is not an original cdrecord option.)
format_overwrite format_overwrite
Format a DVD-RW to "Restricted Overwrite". The user should bring Format a DVD-RW to "Restricted Overwrite". The user should bring
some patience. some patience.
@ -327,15 +324,15 @@ blank=mode
non-default size, use program *xorriso* with command *-format*. non-default size, use program *xorriso* with command *-format*.
(Note: blank=format_overwrite is not an original cdrecord options) (Note: blank=format_overwrite is not an original cdrecord options)
help help
Print a short overview of blank modes to standard error output. Print a short overview of blank modes to standard error output.
Afterwards end emulation without performing any drive operation. Afterwards end emulation without performing any drive operation.
-multi -multi
This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R
appendable after the current session has been written. Without it appendable after the current session has been written. Without it
the disc gets closed and may not be written any more - unless it the disc gets closed and may not be written any more - unless it is
is a -RW and gets blanked, which causes loss of its content. a -RW and gets blanked, which causes loss of its content.
This option cannot be applied to DVD-R DL or to DVD-RW which were This option cannot be applied to DVD-R DL or to DVD-RW which were
blanked by mode "deformat_quickest". Option -multi_if_possible may blanked by mode "deformat_quickest". Option -multi_if_possible may
automatically recognize and handle this situation. automatically recognize and handle this situation.
@ -343,20 +340,18 @@ blank=mode
ISO-9660 filesystem of a follow-up session needs to be prepared in ISO-9660 filesystem of a follow-up session needs to be prepared in
a special way by the filesystem formatter program. mkisofs, a special way by the filesystem formatter program. mkisofs,
genisoimage, and xorrisofs expect particular info about the genisoimage, and xorrisofs expect particular info about the
situation which can be retrieved by `xorrecord' option -msinfo. situation which can be retrieved by 'xorrecord' option -msinfo.
With overwriteable DVD or BD media, -multi cannot mark the end of With overwriteable DVD or BD media, -multi cannot mark the end of
the session. So when adding a new session, this end has to be the session. So when adding a new session, this end has to be
determined from the payload. Currently only ISO-9660 filesystems determined from the payload. Currently only ISO-9660 filesystems
can be used that way. See option *-grow_overwriteable_iso*. can be used that way. See option *-grow_overwriteable_iso*.
-dummy -dummy
Try to perform the drive operations without actually affecting the Try to perform the drive operations without actually affecting the
inserted media. There is no warranty that this will work with a inserted media. There is no warranty that this will work with a
particular combination of drive and media. Blanking is prevented particular combination of drive and media. Blanking is prevented
reliably, though. To avoid inadverted real burning, -dummy reliably, though. To avoid inadverted real burning, -dummy refuses
refuses burn runs on anything but CD-R[W], DVD-R[W], or emulated burn runs on anything but CD-R[W], DVD-R[W], or emulated
stdio-drives. stdio-drives.
-waiti -waiti
Wait until input data is available at stdin or EOF occurs at stdin. Wait until input data is available at stdin or EOF occurs at stdin.
Only then begin to access any drives. Only then begin to access any drives.
@ -367,22 +362,20 @@ blank=mode
xorrecord dev=/dev/sr0 ... -waiti - xorrecord dev=/dev/sr0 ... -waiti -
This option works even if standard input is not the track source. This option works even if standard input is not the track source.
If no process is piping in, then the Enter key of your terminal If no process is piping in, then the Enter key of your terminal
will act as trigger for `xorrecord'. Note that this input line will act as trigger for 'xorrecord'. Note that this input line
will not be consumed by cdrskin if standard input is not the track will not be consumed by cdrskin if standard input is not the track
source. It will end up as shell command, usually. source. It will end up as shell command, usually.
tsize=size tsize=size
Announce the exact size of the track source. This is necessary with Announce the exact size of the track source. This is necessary
DVD-R DL media and with quickest blanked DVD-RW, if the size with DVD-R DL media and with quickest blanked DVD-RW, if the size
cannot be determined in advance from the track source. E.g. if it cannot be determined in advance from the track source. E.g. if it
is standard input or a named pipe. is standard input or a named pipe.
If the track source does not deliver the predicted amount of If the track source does not deliver the predicted amount of bytes,
bytes, the remainder of the track is padded with zeros. This is the remainder of the track is padded with zeros. This is not
not considered an error. If on the other hand the track source considered an error. If on the other hand the track source
delivers more than the announced bytes then the track on media delivers more than the announced bytes then the track on media gets
gets truncated to the predicted size and xorrecord exits with truncated to the predicted size and xorrecord exits with non-zero
non-zero value. value.
-isosize -isosize
Try to obtain the track size from the content of the track source. Try to obtain the track size from the content of the track source.
This works only if the track source bears an ISO 9660 filesystem. This works only if the track source bears an ISO 9660 filesystem.
@ -390,66 +383,57 @@ tsize=size
If the track source is not a regular file or block device, then If the track source is not a regular file or block device, then
this option will work only if the program's fifo size is at least this option will work only if the program's fifo size is at least
64k. See option fs=. 64k. See option fs=.
padsize=size padsize=size
Add the given amount of trailing zeros to the upcomming track. Add the given amount of trailing zeros to the upcomming track.
This feature can be disabled by size 0. Default is 300 kB in order This feature can be disabled by size 0. Default is 300 kB in order
to work around a problem with GNU/Linux which often fails to read to work around a problem with GNU/Linux which often fails to read
the last few blocks of a CD track which was written in write mode the last few blocks of a CD track which was written in write mode
TAO. TAO is used by `xorrecord' if the track size cannot be TAO. TAO is used by 'xorrecord' if the track size cannot be
predicted or if the CD medium is not blank but appendable. predicted or if the CD medium is not blank but appendable.
-nopad -nopad
The same as padsize=0. The same as padsize=0.
-pad -pad
The same as padsize=15s. This was once sufficient with older The same as padsize=15s. This was once sufficient with older
GNU/Linux kernels. Meanwhile one should at least use padsize=128k, GNU/Linux kernels. Meanwhile one should at least use padsize=128k,
if not padsize=300k. if not padsize=300k.
-data -data
Explicitely announce that the track source shall be recorded as Explicitely announce that the track source shall be recorded as
data track, and not as audio track. This option has no effect with data track, and not as audio track. This option has no effect with
`xorrecord', because there is no support for other track formats 'xorrecord', because there is no support for other track formats
anyway. anyway.
-tao -tao
Explicitely demand that write type TAO shall be used for CD, or Explicitely demand that write type TAO shall be used for CD, or
Incremental for DVD-R. Normally the program will choose the write Incremental for DVD-R. Normally the program will choose the write
type according to the given medium state, option -multi, and track type according to the given medium state, option -multi, and track
source. Demanding it explicitely prevents the start of a write source. Demanding it explicitely prevents the start of a write
run, if it is not appropriate to the situation. run, if it is not appropriate to the situation.
-sao -sao
Explicitely demand that write type SAO shall be used for CD, or Explicitely demand that write type SAO shall be used for CD, or DAO
DAO for DVD-R. This might prevent the write run, if it is not for DVD-R. This might prevent the write run, if it is not
appropriate to the situation. appropriate to the situation.
-dao -dao
Alias of -sao. Alias of -sao.
fs=size fs=size
Set the size of the program fifo buffer to the given value rather Set the size of the program fifo buffer to the given value rather
than the default of 4m. than the default of 4m.
The fifo buffers a temporary surplus of track source data in order The fifo buffers a temporary surplus of track source data in order
to provide the drive with a steady stream during times of to provide the drive with a steady stream during times of temporary
temporary lack of track source supply. lack of track source supply.
Other than cdrecord, xorrecord enables drive buffer underrun Other than cdrecord, xorrecord enables drive buffer underrun
protection by default and does not wait with writing until the protection by default and does not wait with writing until the fifo
fifo is full for a first time. On very old CD drives and slow is full for a first time. On very old CD drives and slow
computers, this might cause aborted burn runs. In this case, computers, this might cause aborted burn runs. In this case,
consider to use program *cdrskin* for CD burning. DVD and BD consider to use program *cdrskin* for CD burning. DVD and BD
drives tolerate buffer underrun without problems. drives tolerate buffer underrun without problems.
The larger the fifo, the longer periods of poor source supply can The larger the fifo, the longer periods of poor source supply can
be compensated. But a large fifo can deprive the operating system be compensated. But a large fifo can deprive the operating system
of read cache for better filesystem performance. of read cache for better filesystem performance.
speed=value speed=value
Set the write speed. Default is 0 = maximum speed. Speed can be Set the write speed. Default is 0 = maximum speed. Speed can be
given in media type dependent x-speed numbers or as a desired given in media type dependent x-speed numbers or as a desired
throughput per second in MMC compliant kB (= 1000) or MB (= 1000 throughput per second in MMC compliant kB (= 1000) or MB (= 1000
kB). Media x-speed factor can be set explicity by appending "c" kB). Media x-speed factor can be set explicity by appending "c" for
for CD, "d" for DVD, "b" for BD. "x" is optional. CD, "d" for DVD, "b" for BD. "x" is optional.
Example speeds: Example speeds:
706k = 706kB/s = 4c = 4xCD 706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD 5540k = 5540kB/s = 4d = 4xDVD
@ -460,7 +444,12 @@ speed=value
MMC drives usually activate their own idea of speed and take the MMC drives usually activate their own idea of speed and take the
speed value given by the burn program only as a hint for their own speed value given by the burn program only as a hint for their own
decision. decision.
minbuf=percentage
Equivalent to:
modesty_on_drive=<percentage>
-immed
Equivalent to:
modesty_on_drive=75
-eject -eject
Eject the drive tray after alll other work is done. Eject the drive tray after alll other work is done.
@ -479,12 +468,10 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O
program is provided, and disclaim any warranty, to the extent program is provided, and disclaim any warranty, to the extent
permitted by law. permitted by law.
Afterwards end emulation without performing any drive operation. Afterwards end emulation without performing any drive operation.
-v -v
Increase program verbosity by one level. There are four verbosity Increase program verbosity by one level. There are four verbosity
levels from nearly silent to debugging verbosity. The both highest levels from nearly silent to debugging verbosity. The both highest
levels can be enabled by repeated -v or by -vv resp. -vvv. levels can be enabled by repeated -v or by -vv or by -vvv.
-V -V
Log SCSI commands and drive replies to standard error. This might Log SCSI commands and drive replies to standard error. This might
be of interest if *xorrecord* and a particular drive or medium do be of interest if *xorrecord* and a particular drive or medium do
@ -494,8 +481,7 @@ File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: O
Please do not add such a log to a bug report on the first hand, Please do not add such a log to a bug report on the first hand,
unless you want to point out a particular deviation from said unless you want to point out a particular deviation from said
specs, or if you get asked for this log by a maintainer of specs, or if you get asked for this log by a maintainer of
`xorrecord' who feels in charge for your bug report. 'xorrecord' who feels in charge for your bug report.
-help -help
Print a sparse list of program options to standard error and Print a sparse list of program options to standard error and
declare not to be cdrecord. declare not to be cdrecord.
@ -512,7 +498,6 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up:
Only if used as first command line argument this option prevents Only if used as first command line argument this option prevents
reading and interpretation of startup files. See section FILES reading and interpretation of startup files. See section FILES
below. below.
--grow_overwriteable_iso --grow_overwriteable_iso
Enable emulation of multi-session writing on overwriteable media Enable emulation of multi-session writing on overwriteable media
which contain an ISO 9660 filesystem. This emulation is learned which contain an ISO 9660 filesystem. This emulation is learned
@ -522,19 +507,17 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up:
for sequential media. for sequential media.
-grow_overwriteable_iso does not hamper the use of true -grow_overwriteable_iso does not hamper the use of true
multi-session media. I.e. it is possible to use the same multi-session media. I.e. it is possible to use the same
`xorrecord' options with both kinds of media and to achieve 'xorrecord' options with both kinds of media and to achieve similar
similar results if ISO 9660 filesystem images are to be written. results if ISO 9660 filesystem images are to be written. This
This option implies option -isosize and therefore demands that the option implies option -isosize and therefore demands that the track
track source is a ISO 9660 filesystem image. source is a ISO 9660 filesystem image.
With overwriteable media and no option blank=fast|all present it With overwriteable media and no option blank=fast|all present it
expands an eventual ISO 9660 filesystem on media. It is assumed expands an eventual ISO 9660 filesystem on media. It is assumed
that this image's inner size description points to the end of the that this image's inner size description points to the end of the
valuable data. Overwriteable media with a recognizable ISO 9660 valuable data. Overwriteable media with a recognizable ISO 9660
size will be regarded as appendable rather than as blank. I.e. size will be regarded as appendable rather than as blank. I.e.
options -msinfo and -toc will work. -toc will always show a options -msinfo and -toc will work. -toc will always show a single
single session with its size increasing with every added ISO 9660 session with its size increasing with every added ISO 9660 image.
image.
--multi_if_possible --multi_if_possible
Apply option -multi if the medium is suitable. Not suitable are Apply option -multi if the medium is suitable. Not suitable are
DVD-R DL and DVD-RW, which were blanked with mode DVD-R DL and DVD-RW, which were blanked with mode
@ -542,7 +525,6 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up:
Not all drives correctly recognize such fast-blanked DVD-RW which Not all drives correctly recognize such fast-blanked DVD-RW which
need "on". If there is well founded suspicion that a burn run need "on". If there is well founded suspicion that a burn run
failed due to -multi, then this causes a re-try without -multi. failed due to -multi, then this causes a re-try without -multi.
stream_recording="on"|"off"|number stream_recording="on"|"off"|number
Mode "on" requests that compliance to the desired speed setting is Mode "on" requests that compliance to the desired speed setting is
preferred over management of write errors. With DVD-RAM and BD preferred over management of write errors. With DVD-RAM and BD
@ -553,22 +535,50 @@ stream_recording="on"|"off"|number
If a number is given, then error management stays enabled for all If a number is given, then error management stays enabled for all
byte addresses below that number. Any number below 16s is the same byte addresses below that number. Any number below 16s is the same
as "off". as "off".
dvd_obs="default"|"32k"|"64k" dvd_obs="default"|"32k"|"64k"
Linux specific: Set the number of bytes to be transmitted with Linux specific: Set the number of bytes to be transmitted with each
each write operation to DVD or BD media. Tracks get padded up to write operation to DVD or BD media. Tracks get padded up to the
the next multiple of this write size. A number of 64 KB may next multiple of this write size. A number of 64 KB may improve
improve throughput with bus systems which show latency problems. throughput with bus systems which show latency problems. The
The default depends on media type, option stream_recording=, and default depends on media type, option stream_recording=, and on
on compile time options. compile time options.
modesty_on_drive=parameter[:parameters]
Control whether the drive buffer shall be kept from getting
completely filled. Parameter "on" (or "1") keeps the program from
trying to write to the burner drive while its buffer is in danger
to be filled over a given limit. If this filling is exceeded then
the program will wait until the filling reaches a given low
percentage value.
This can ease the load on operating system and drive controller and
thus help with achieving better input bandwidth if disk and burner
are not on independent controllers (like hda and hdb). It may also
help with simultaneous burns on different burners with Linux
kernels like 3.16. On the other hand it increases the risk of
buffer underflow and thus reduced write speed.
Some burners are not suitable because they report buffer fill with
granularity too coarse in size or time, or expect their buffer to
be filled to the top before they go to full speed.
Parameters "off" or "0" disable this feature.
The threshhold for beginning to wait is given by parameter
"max_percent=". Parameter "min_percent=" defines the threshhold
for resuming transmission. Percentages are permissible in the
range of 25 to 100. Numbers in this range without a prepended name
are interpreted as "on:min_percent=".
E.g.: modesty_on_drive=75
The optimal values depend on the buffer behavior of the drive.
There are also timing parameters "timeout_sec=", "min_usec=",
"max_usec=". Read the description of
burn_drive_set_buffer_waiting() in libburn.h, before setting them
to non-default values.
Parameters, which are not mentioned with a modesty_on_drive=
option, stay unchanged. Default is:
modesty_on_drive=off:min_percent=65:max_percent=95
write_start_address=value write_start_address=value
Set the block address on overwritable media where to start writing Set the block address on overwritable media where to start writing
the track. With DVD+RW, DVD-RAM or BD-RE, byte_offset must be the track. With DVD+RW, DVD-RAM or BD-RE, byte_offset must be
aligned to 2 kiB blocks, but better is 32 kiB on DVD and 64 kiB on aligned to 2 kiB blocks, but better is 32 kiB on DVD and 64 kiB on
BD. With formatted DVD-RW 32 kiB alignment is mandatory. BD. With formatted DVD-RW 32 kiB alignment is mandatory.
Other media are not suitable for this option. Other media are not suitable for this option.
stdio_sync="on"|"off"|number stdio_sync="on"|"off"|number
Set the number of bytes after which to force output to emulated Set the number of bytes after which to force output to emulated
stdio: drives. This forcing keeps the memory from being clogged stdio: drives. This forcing keeps the memory from being clogged
@ -629,10 +639,10 @@ File: xorrecord.info, Node: ExFormat, Next: ExDeformat, Prev: ExBlank, Up: E
$ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject $ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject
This command may also be used to format BD-R media before first use, in This command may also be used to format BD-R media before first use,
order to enable handling of write errors. Several hundred MB of spare in order to enable handling of write errors. Several hundred MB of
blocks will be reserved and write runs on such media will perform with spare blocks will be reserved and write runs on such media will perform
less than half nominal speed. with less than half nominal speed.
 
File: xorrecord.info, Node: ExDeformat, Next: ExIsoSingle, Prev: ExFormat, Up: Examples File: xorrecord.info, Node: ExDeformat, Next: ExIsoSingle, Prev: ExFormat, Up: Examples
@ -650,8 +660,8 @@ File: xorrecord.info, Node: ExIsoSingle, Next: ExIsoMulti, Prev: ExDeformat,
============================================ ============================================
$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ blank=as_needed -eject
blank=as_needed -eject padsize=300k my_image.iso padsize=300k my_image.iso
 
File: xorrecord.info, Node: ExIsoMulti, Next: ExIsoFly, Prev: ExIsoSingle, Up: Examples File: xorrecord.info, Node: ExIsoMulti, Next: ExIsoFly, Prev: ExIsoSingle, Up: Examples
@ -665,35 +675,35 @@ The first session is written like in the previous example, except that
option -multi is used. It will contain the files of hard disk directory option -multi is used. It will contain the files of hard disk directory
./tree1 under the ISO 9660 directory /dir1: ./tree1 under the ISO 9660 directory /dir1:
$ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1 $ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1
$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
-multi -grow_overwriteable_iso \ -multi -grow_overwriteable_iso \
blank=as_needed -eject padsize=300k image_1.iso blank=as_needed -eject padsize=300k image_1.iso
For the second session xorrisofs needs to know the -msinfo numbers of For the second session xorrisofs needs to know the -msinfo numbers of
the medium. Further it will read data from the medium by using the the medium. Further it will read data from the medium by using the
system's read-only CD-ROM driver. system's read-only CD-ROM driver.
It is advised to load the tray manually or via dd by the CD-ROM driver, It is advised to load the tray manually or via dd by the CD-ROM driver,
rather than letting xorrecord do this by its own SCSI driver. Many rather than letting xorrecord do this by its own SCSI driver. Many
system CD-ROM drivers do not take notice of xorrecord's activities. system CD-ROM drivers do not take notice of xorrecord's activities.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
Now get the -msinfo numbers: Now get the -msinfo numbers:
$ m=$(xorrecord dev=/dev/sr0 -msinfo) $ m=$(xorrecord dev=/dev/sr0 -msinfo)
and use them with xorrisofs to add ./tree2 to the image as /dir2: and use them with xorrisofs to add ./tree2 to the image as /dir2:
$ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \ $ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \
-J -graft-points /dir2=./tree2 -J -graft-points /dir2=./tree2
Now burn the new session onto the same medium. This time without Now burn the new session onto the same medium. This time without
blanking: blanking:
$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
-multi -grow_overwriteable_iso \ -multi -grow_overwriteable_iso \
-eject padsize=300k image_2.iso -eject padsize=300k image_2.iso
Operating systems which mount this medium will read the superblock of Operating systems which mount this medium will read the superblock of
the second session and show both directories /dir1 and /dir2. the second session and show both directories /dir1 and /dir2.
 
@ -702,19 +712,19 @@ File: xorrecord.info, Node: ExIsoFly, Next: ExAfio, Prev: ExIsoMulti, Up: Ex
6.8 Write ISO 9660 session on-the-fly 6.8 Write ISO 9660 session on-the-fly
===================================== =====================================
It is possible to combine the run of *xorrisofs* and `xorrecord' in a It is possible to combine the run of *xorrisofs* and 'xorrecord' in a
pipeline without storing the ISO 9660 image as file on hard disk: pipeline without storing the ISO 9660 image as file on hard disk:
$ xorrisofs -M /dev/sr0 -C $m \ $ xorrisofs -M /dev/sr0 -C $m \
-J -graft-points /dir2=./tree2 \ -J -graft-points /dir2=./tree2 \
| xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ | xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
-waiti -multi -grow_overwriteable_iso \ -waiti -multi -grow_overwriteable_iso \
-eject padsize=300k - -eject padsize=300k -
This is also the main use case of program *xorriso* itself, where this This is also the main use case of program *xorriso* itself, where
run would look like: this run would look like:
$ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \ $ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \
-map ./tree2 /dir2 -commit_eject all -map ./tree2 /dir2 -commit_eject all
 
@ -724,24 +734,24 @@ File: xorrecord.info, Node: ExAfio, Prev: ExIsoFly, Up: Examples
============================================ ============================================
This is possible with all media except minimally blanked DVD-RW and This is possible with all media except minimally blanked DVD-RW and
DVD-R DL. Since the compressed output stream is of very variable DVD-R DL. Since the compressed output stream is of very variable speed,
speed, a larger fifo is advised. Nevertheless, this example is not a larger fifo is advised. Nevertheless, this example is not suitable
suitable for very old CD drives which have no underrun protection and for very old CD drives which have no underrun protection and thus would
thus would abort the burn run on temporary data shortage. abort the burn run on temporary data shortage.
$ find . | afio -oZ - | \ $ find . | afio -oZ - | \
xorrecord -v dev=/dev/sr0 speed=12 fs=64m \ xorrecord -v dev=/dev/sr0 speed=12 fs=64m \
-multi padsize=300k - -multi padsize=300k -
afio archives do not contain references to absolute data block afio archives do not contain references to absolute data block
addresses. So they need no special precautions for multi-session. One addresses. So they need no special precautions for multi-session. One
may get the session start addresses by option -toc, and then use dd may get the session start addresses by option -toc, and then use dd
option skip= to begin reading at one of those addresses. E.g. for option skip= to begin reading at one of those addresses. E.g. for
listing its content: listing its content:
$ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ - $ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ -
afio will know when the end of the archive is reached. afio will know when the end of the archive is reached.
 
File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top
@ -752,16 +762,17 @@ File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top
7.1 Startup Files 7.1 Startup Files
================= =================
If not -no_rc is given as the first argument then `xorrecord' attempts
If not -no_rc is given as the first argument then 'xorrecord' attempts
on startup to read and execute lines from the following files: on startup to read and execute lines from the following files:
/etc/default/xorriso /etc/default/xorriso
/etc/opt/xorriso/rc /etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf /etc/xorriso/xorriso.conf
$HOME/.xorrisorc $HOME/.xorrisorc
The files are read in the sequence given here, but none of them is The files are read in the sequence given here, but none of them is
required to exist. The lines are not interpreted as `xorrecord' options required to exist. The lines are not interpreted as 'xorrecord' options
but as generic *xorriso* commands. See man xorriso. but as generic *xorriso* commands. See man xorriso.
 
@ -772,10 +783,8 @@ File: xorrecord.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top
For generic xorriso command mode For generic xorriso command mode
xorriso(1) xorriso(1)
Formatting track sources for xorrecord Formatting track sources for xorrecord
xorrisofs(1), mkisofs(8), genisoimage(8), afio(1), star(1) xorrisofs(1), mkisofs(8), genisoimage(8), afio(1), star(1)
Other programs which burn sessions to optical media Other programs which burn sessions to optical media
growisofs(1), cdrecord(1), wodim(1), cdrskin(1) growisofs(1), cdrecord(1), wodim(1), cdrskin(1)
@ -785,15 +794,15 @@ File: xorrecord.info, Node: Bugreport, Next: Legal, Prev: Seealso, Up: Top
9 Reporting bugs 9 Reporting bugs
**************** ****************
To report bugs, request help, or suggest enhancements for `xorriso', To report bugs, request help, or suggest enhancements for 'xorriso',
please send electronic mail to the public list <bug-xorriso@gnu.org>. please send electronic mail to the public list <bug-xorriso@gnu.org>.
If more privacy is desired, mail to <scdbackup@gmx.net>. If more privacy is desired, mail to <scdbackup@gmx.net>.
Please describe what you expect `xorriso' to do, the program arguments Please describe what you expect 'xorriso' to do, the program
resp. commands by which you tried to achieve it, the messages of arguments or dialog commands by which you tried to achieve it, the
`xorriso', and the undesirable outcome of your program run. messages of 'xorriso', and the undesirable outcome of your program run.
Expect to get asked more questions before solutions can be proposed. Expect to get asked more questions before solutions can be proposed.
 
File: xorrecord.info, Node: Legal, Next: CommandIdx, Prev: Bugreport, Up: Top File: xorrecord.info, Node: Legal, Next: CommandIdx, Prev: Bugreport, Up: Top
@ -819,7 +828,7 @@ entitled to modify this text under that same license.
10.3 Credits 10.3 Credits
============ ============
`xorriso' is in part based on work by Vreixo Formoso who provides 'xorriso' is in part based on work by Vreixo Formoso who provides
libisofs together with Mario Danic who also leads the libburnia team. libisofs together with Mario Danic who also leads the libburnia team.
Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman
and Ben Jansens who once founded libburn. and Ben Jansens who once founded libburn.
@ -837,45 +846,47 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --devices get list of drives: DriveAddr. (line 8) * --devices get list of drives: DriveAddr. (line 8)
* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord. * --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord.
(line 13) (line 12)
* --multi_if_possible apply -multi if medium is suitable: NonCdrecord. * --multi_if_possible apply -multi if medium is suitable: NonCdrecord.
(line 35) (line 32)
* --no_rc do not execute xorriso startup files: NonCdrecord. * --no_rc do not execute xorriso startup files: NonCdrecord. (line 8)
(line 8) * -atip inquire medium state: Inquire. (line 14)
* -atip inquire medium state: Inquire. (line 16) * -checkdrive inquire drive CD capabilities: Inquire. (line 11)
* -checkdrive inquire drive CD capabilities: Inquire. (line 12) * -dao explicitely set write type SAO/DAO: SetBurn. (line 172)
* -dao explicitely set write type SAO/DAO: SetBurn. (line 178) * -data explicitely announce a data track: SetBurn. (line 157)
* -data explicitely announce a data track: SetBurn. (line 160) * -dummy control write simulation: SetBurn. (line 106)
* -dummy control write simulation: SetBurn. (line 102) * -eject finally eject drive tray: SetBurn. (line 211)
* -eject finally eject drive tray: SetBurn. (line 214) * -help print sparse overview of options: Verbous. (line 30)
* -help print sparse overview of options: Verbous. (line 33) * -immed keep drive buffer hungry: SetBurn. (line 208)
* -inq inquire drive identifiers: Inquire. (line 8) * -inq inquire drive identifiers: Inquire. (line 8)
* -isosize obtain track size from ISO 9660 superblock: SetBurn. * -isosize obtain track size from ISO 9660 superblock: SetBurn.
(line 136) (line 137)
* -msinfo retrieve multi-session info: Inquire. (line 48) * -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 56)
* -multi keep media appendable after burn run: SetBurn. (line 84) * -msinfo retrieve multi-session info: Inquire. (line 43)
* -nopad disable adding of bytes to end of track: SetBurn. (line 152) * -multi keep media appendable after burn run: SetBurn. (line 89)
* -pad add 15 blocks to end of track: SetBurn. (line 155) * -nopad disable adding of bytes to end of track: SetBurn. (line 151)
* -sao explicitely set write type SAO/DAO: SetBurn. (line 173) * -pad add 15 blocks to end of track: SetBurn. (line 153)
* -tao explicitely set write type TAO: SetBurn. (line 166) * -sao explicitely set write type SAO/DAO: SetBurn. (line 168)
* -toc inquire medium content: Inquire. (line 25) * -tao explicitely set write type TAO: SetBurn. (line 162)
* -v increase program verbosity: Verbous. (line 17) * -toc inquire medium content: Inquire. (line 22)
* -V log SCSI command transactions to stderr: Verbous. (line 22) * -v increase program verbosity: Verbous. (line 16)
* -V log SCSI command transactions to stderr: Verbous. (line 20)
* -version report emulation and xorriso version: Verbous. (line 8) * -version report emulation and xorriso version: Verbous. (line 8)
* -waiti access drive only after stdin delivers data: SetBurn. * -waiti access drive only after stdin delivers data: SetBurn.
(line 110) (line 113)
* blank= make media re-usabable or format media: SetBurn. (line 27) * blank= make media re-usabable or format media: SetBurn. (line 28)
* dev= address the drive to be used: DriveAddr. (line 22) * dev= address the drive to be used: DriveAddr. (line 21)
* dvd_obs= set write transaction payload size: NonCdrecord. (line 54) * dvd_obs= set write transaction payload size: NonCdrecord. (line 49)
* fs= set program fifo size: SetBurn. (line 181) * fs= set program fifo size: SetBurn. (line 174)
* minbuf= keep drive buffer hungry: SetBurn. (line 205)
* padsize= add bytes to end of track: SetBurn. (line 144) * padsize= add bytes to end of track: SetBurn. (line 144)
* speed= set write speed: SetBurn. (line 197) * speed= set write speed: SetBurn. (line 189)
* stdio_sync= control stdio buffer: NonCdrecord. (line 69) * stdio_sync= control stdio buffer: NonCdrecord. (line 93)
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. * stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
(line 43) (line 39)
* tsize= set a fixed track size: SetBurn. (line 124) * tsize= set a fixed track size: SetBurn. (line 126)
* write_start_address= set block address for write start: NonCdrecord. * write_start_address= set block address for write start: NonCdrecord.
(line 62) (line 87)
 
File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -886,89 +897,92 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
[index] [index]
* Menu: * Menu:
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 110) * Accessing drive, wait for stdin, -waiti: SetBurn. (line 113)
* Bugs, reporting: Bugreport. (line 6) * Bugs, reporting: Bugreport. (line 6)
* Data track, announce, -data: SetBurn. (line 160) * Data track, announce, -data: SetBurn. (line 157)
* Defect management, control, stream_recording=: NonCdrecord. (line 43) * Defect management, control, stream_recording=: NonCdrecord. (line 39)
* Drive, address, dev=: DriveAddr. (line 22) * Drive, address, dev=: DriveAddr. (line 21)
* Drive, get list of, --devices: DriveAddr. (line 8) * Drive, get list of, --devices: DriveAddr. (line 8)
* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 12) * Drive, inquire CD capabilities, -checkdrive: Inquire. (line 11)
* Drive, inquire identifiers, -inq: Inquire. (line 8) * Drive, inquire identifiers, -inq: Inquire. (line 8)
* Eject, the tray, -eject: SetBurn. (line 214) * Eject, the tray, -eject: SetBurn. (line 211)
* Examples: Examples. (line 6) * Examples: Examples. (line 6)
* Fifo, set size, fs=: SetBurn. (line 181) * Fifo, set size, fs=: SetBurn. (line 174)
* Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord. * Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord.
(line 43) (line 39)
* Media types, _definiton: Standards. (line 23) * Media types, _definiton: Standards. (line 23)
* Media, blank, blank=: SetBurn. (line 27) * Media, blank, blank=: SetBurn. (line 28)
* Media, format, blank=: SetBurn. (line 27) * Media, format, blank=: SetBurn. (line 28)
* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 35) * Media, keep appendable, --multi_if_possible: NonCdrecord. (line 32)
* Media, keep appendable, -multi: SetBurn. (line 84) * Media, keep appendable, -multi: SetBurn. (line 89)
* Media, make re-usable, blank=: SetBurn. (line 27) * Media, make re-usable, blank=: SetBurn. (line 28)
* medium content, inquire, -toc: Inquire. (line 25) * medium content, inquire, -toc: Inquire. (line 22)
* medium state, inquire, -atip: Inquire. (line 16) * medium state, inquire, -atip: Inquire. (line 14)
* MMC, _definiton: Standards. (line 6) * MMC, _definiton: Standards. (line 6)
* multi-session info, retrieve, -msinfo: Inquire. (line 48) * multi-session info, retrieve, -msinfo: Inquire. (line 43)
* Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord. * Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord.
(line 13) (line 12)
* Options, overview, -help: Verbous. (line 33) * Options, overview, -help: Verbous. (line 30)
* Overwritable media, _definiton: Standards. (line 30) * Overwritable media, _definiton: Standards. (line 30)
* Padding, at end of track, padsize=: SetBurn. (line 144) * Padding, at end of track, padsize=: SetBurn. (line 144)
* Padding, disable, -nopad: SetBurn. (line 152) * Padding, disable, -nopad: SetBurn. (line 151)
* Padding, insufficient old, -pad: SetBurn. (line 155) * Padding, insufficient old, -pad: SetBurn. (line 153)
* Problems, reporting: Bugreport. (line 6) * Problems, reporting: Bugreport. (line 6)
* SCSI commands, log, -V: Verbous. (line 22) * SCSI commands, log, -V: Verbous. (line 20)
* Sequentially recordable media, _definiton: Standards. (line 25) * Sequentially recordable media, _definiton: Standards. (line 25)
* Session, _definiton: Standards. (line 12) * Session, _definiton: Standards. (line 12)
* Speed, set for writing, speed=: SetBurn. (line 197) * Speed, set for writing, speed=: SetBurn. (line 189)
* Startup files, do not execute, --no_rc: NonCdrecord. (line 8) * Startup files, do not execute, --no_rc: NonCdrecord. (line 8)
* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 136) * Track size, obtain from ISO 9660, -isosize: SetBurn. (line 137)
* Track size, set fixed, tsize=: SetBurn. (line 124) * Track size, set fixed, tsize=: SetBurn. (line 126)
* Track, _definiton: Standards. (line 13) * Track, _definiton: Standards. (line 13)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 54) * Transaction size, set, dvd_obs=: NonCdrecord. (line 49)
* Tray, eject, -eject: SetBurn. (line 214) * Tray, eject, -eject: SetBurn. (line 211)
* Verbosity, increase, -v: Verbous. (line 17) * Verbosity, increase, -v: Verbous. (line 16)
* Verbosity, SCSI commands, -V: Verbous. (line 22) * Verbosity, SCSI commands, -V: Verbous. (line 20)
* Version, report, -version: Verbous. (line 8) * Version, report, -version: Verbous. (line 8)
* Write simulation , control, -dummy: SetBurn. (line 102) * Write simulation , control, -dummy: SetBurn. (line 106)
* Write start address, set, write_start_address=: NonCdrecord. * Write start address, set, write_start_address=: NonCdrecord.
(line 62) (line 87)
* Write type, SAO/DAO, -dao: SetBurn. (line 178) * Write type, SAO/DAO, -dao: SetBurn. (line 172)
* Write type, SAO/DAO, -sao: SetBurn. (line 173) * Write type, SAO/DAO, -sao: SetBurn. (line 168)
* Write type, TAO, -tao: SetBurn. (line 166) * Write type, TAO, -tao: SetBurn. (line 162)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 69) * Write, buffer syncing, stdio_sync=: NonCdrecord. (line 93)
* Write, drive buffer, -immed: SetBurn. (line 208)
* Write, drive buffer, minbuf=: SetBurn. (line 205)
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 56)
* xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6) * xorriso, options: Options. (line 6)
 
Tag Table: Tag Table:
Node: Top401 Node: Top395
Node: Overview1111 Node: Overview1103
Node: Standards1685 Node: Standards1683
Node: Drive3837 Node: Drive3845
Node: Xorriso5170 Node: Xorriso5176
Node: Options5881 Node: Options5885
Node: DriveAddr6249 Node: DriveAddr6253
Node: Inquire7611 Node: Inquire7618
Node: SetBurn10481 Node: SetBurn10487
Node: Verbous20781 Node: Verbous20940
Node: NonCdrecord22331 Node: NonCdrecord22490
Node: Examples25876 Node: Examples27889
Node: ExDevices26537 Node: ExDevices28550
Node: ExMedium26755 Node: ExMedium28768
Node: ExBlank27018 Node: ExBlank29031
Node: ExFormat27239 Node: ExFormat29252
Node: ExDeformat27753 Node: ExDeformat29770
Node: ExIsoSingle28020 Node: ExIsoSingle30037
Node: ExIsoMulti28304 Node: ExIsoMulti30321
Node: ExIsoFly29910 Node: ExIsoFly31955
Node: ExAfio30573 Node: ExAfio32626
Node: Files31554 Node: Files33624
Node: Seealso32101 Node: Seealso34180
Node: Bugreport32466 Node: Bugreport34543
Node: Legal33047 Node: Legal35134
Node: CommandIdx33974 Node: CommandIdx36063
Node: ConceptIdx37106 Node: ConceptIdx39339
 
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 XORRECORD 1 "Version 1.4.1, May 17, 2015" @c man .TH XORRECORD 1 "Version 1.4.1, Jul 30, 2015"
@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:
@ -196,8 +196,8 @@ device file.
On Solaris, the user needs r-permission and privilege "sys_devices", On Solaris, the user needs r-permission and privilege "sys_devices",
which is usually gained by running @command{xorrecord} via command pfexec. which is usually gained by running @command{xorrecord} via command pfexec.
@* @*
These permissions resp. privileges are needed already for listing a drive. These permissions or privileges are needed already for listing a drive.
So it might be necessary to get the overview as superuser resp. via pfexec. So it might be necessary to get the overview as superuser or via pfexec.
@* @*
@command{xorrecord} does not perform cdrecord option -scanbus and does @command{xorrecord} does not perform cdrecord option -scanbus and does
not accept the addresses of form Bus,Target,Lun which are told by -scanbus. not accept the addresses of form Bus,Target,Lun which are told by -scanbus.
@ -228,7 +228,7 @@ to generic xorriso command mode. See @strong{man xorriso} for its description.
Other than in xorriso command mode, the sequence of the cdrecord emulation Other than in xorriso command mode, the sequence of the cdrecord emulation
options does not matter. options does not matter.
All pending actions get performed in a fixed sequence before the program All pending actions get performed in a fixed sequence before the program
run ends resp. before cdrecord emulation ends. run ends or before cdrecord emulation ends.
@c man .SS @c man .SS
@node Options, Examples, Xorriso, Top @node Options, Examples, Xorriso, Top
@chapter Options @chapter Options
@ -648,6 +648,20 @@ MMC drives usually activate their own idea of speed and take
the speed value given by the burn program only as a hint the speed value given by the burn program only as a hint
for their own decision. for their own decision.
@c man .TP @c man .TP
@item minbuf=percentage
@kindex minbuf= keep drive buffer hungry
@cindex Write, drive buffer, minbuf=
Equivalent to:
@*
modesty_on_drive=<percentage>
@c man .TP
@item -immed
@kindex -immed keep drive buffer hungry
@cindex Write, drive buffer, -immed
Equivalent to:
@*
modesty_on_drive=75
@c man .TP
@item -eject @item -eject
@kindex -eject finally eject drive tray @kindex -eject finally eject drive tray
@cindex Eject, the tray, -eject @cindex Eject, the tray, -eject
@ -679,7 +693,7 @@ Afterwards end emulation without performing any drive operation.
@cindex Verbosity, increase, -v @cindex Verbosity, increase, -v
Increase program verbosity by one level. There are four verbosity levels Increase program verbosity by one level. There are four verbosity levels
from nearly silent to debugging verbosity. The both highest levels can from nearly silent to debugging verbosity. The both highest levels can
be enabled by repeated -v or by -vv resp. -vvv. be enabled by repeated -v or by -vv or by -vvv.
@c man .TP @c man .TP
@item -V @item -V
@kindex -V log SCSI command transactions to stderr @kindex -V log SCSI command transactions to stderr
@ -779,6 +793,46 @@ size. A number of 64 KB may improve throughput with bus systems which
show latency problems. The default depends on media type, option show latency problems. The default depends on media type, option
stream_recording=, and on compile time options. stream_recording=, and on compile time options.
@c man .TP @c man .TP
@item modesty_on_drive=parameter[:parameters]
@kindex -modesty_on_drive keep drive buffer hungry
@cindex Write, drive buffer, modesty_on_drive=
Control whether the drive buffer shall be kept from getting completely filled.
Parameter "on" (or "1") keeps the program from trying to write to the burner
drive while its buffer is in danger to be filled over a given limit.
If this filling is exceeded then the program will wait until the filling
reaches a given low percentage value.
@*
This can ease the load on operating system and drive controller and thus help
with achieving better input bandwidth if disk and burner are not on independent
controllers (like hda and hdb). It may also help with simultaneous burns on
different burners with Linux kernels like 3.16. On the other hand it increases
the risk of buffer underflow and thus reduced write speed.
@*
Some burners are not suitable because they
report buffer fill with granularity too coarse in size or time,
or expect their buffer to be filled to the top before they go to full speed.
@*
Parameters "off" or "0" disable this feature.
@*
The threshhold for beginning to wait is given by parameter "max_percent=".
Parameter "min_percent=" defines the threshhold for resuming transmission.
Percentages are permissible in the range of 25 to 100. Numbers in this
range without a prepended name are interpreted as "on:min_percent=".
@*
E.g.: modesty_on_drive=75
@*
The optimal values depend on the buffer behavior of the drive.
@*
There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=".
Read the description of burn_drive_set_buffer_waiting() in libburn.h,
before setting them to non-default values.
@*
Parameters, which are not mentioned with a modesty_on_drive= option,
stay unchanged.
Default is:
@*
modesty_on_drive=off:min_percent=65:max_percent=95
@c man .TP
@item write_start_address=value @item write_start_address=value
@kindex write_start_address= set block address for write start @kindex write_start_address= set block address for write start
@cindex Write start address, set, write_start_address= @cindex Write start address, set, write_start_address=
@ -1057,7 +1111,7 @@ If more privacy is desired, mail to @email{scdbackup@@gmx.net}.
@* @*
@sp 1 @sp 1
Please describe what you expect @command{xorriso} to do, Please describe what you expect @command{xorriso} to do,
the program arguments resp. commands by which you tried to achieve it, the program arguments or dialog commands by which you tried to achieve it,
the messages of @command{xorriso}, and the undesirable outcome of your the messages of @command{xorriso}, and the undesirable outcome of your
program run. program run.
@* @*

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.4.1, Mai 17, 2015" .TH XORRISO 1 "Version 1.4.1, Jul 30, 2015"
.\" 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:
@ -216,7 +216,7 @@ for \fBxorriso\fR.
.br .br
Closed is the state of DVD\-ROM media and of multi\-session media which were Closed is the state of DVD\-ROM media and of multi\-session media which were
written with command \-close on. If the drive is read\-only hardware then it will written with command \-close on. If the drive is read\-only hardware then it will
probably show any media as closed CD\-ROM resp. DVD\-ROM. probably show any media as closed CD\-ROM or DVD\-ROM.
.br .br
Overwriteable media assume this state in such read\-only drives or if they Overwriteable media assume this state in such read\-only drives or if they
contain unrecognizable data in the first 32 data blocks. contain unrecognizable data in the first 32 data blocks.
@ -778,7 +778,7 @@ If an ISO image was written onto a partition with offset of 640000 blocks of
512 bytes, then it can be loaded from the base device by \-displacement 160000. 512 bytes, then it can be loaded from the base device by \-displacement 160000.
.br .br
In both cases, the ISO sessions should be self contained, i.e. not add\-on In both cases, the ISO sessions should be self contained, i.e. not add\-on
sessions to an ISO image outside their track resp. partition. sessions to an ISO image outside their track or partition.
.TP .TP
\fB\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern \fB\-drive_class\fR "harmless"|"banned"|"caution"|"clear_list" disk_pattern
Add a drive path pattern to one of the safety lists or make those lists empty. Add a drive path pattern to one of the safety lists or make those lists empty.
@ -991,7 +991,8 @@ for substantial time after they have been used for reading. This reduces
the startup time for the next drive operation but can be loud and waste the startup time for the next drive operation but can be loud and waste
energy if no i/o with the drive is expected to happen soon. energy if no i/o with the drive is expected to happen soon.
.br .br
Modes "in", "out", "all" immediately calm down \-indev, \-outdev, resp. both. Modes "in", "out", "all" immediately calm down \-indev, \-outdev, or both,
respectively.
Mode "revoke" immediately alerts both. Mode "revoke" immediately alerts both.
Mode "on" causes \-calm_drive to be performed automatically after each \-dev, Mode "on" causes \-calm_drive to be performed automatically after each \-dev,
\-indev, and \-outdev. Mode "off" disables this. \-indev, and \-outdev. Mode "off" disables this.
@ -1121,7 +1122,7 @@ as files to add, if they are not parameters to appropriate commands.
\fB\-path_list\fR disk_path \fB\-path_list\fR disk_path
Like \-add but read the parameter words from file disk_path Like \-add but read the parameter words from file disk_path
or standard input if disk_path is "\-". or standard input if disk_path is "\-".
The list must contain exactly one pathspec resp. disk_path pattern per line. The list must contain exactly one pathspec or disk_path pattern per line.
.TP .TP
\fB\-quoted_path_list\fR disk_path \fB\-quoted_path_list\fR disk_path
Like \-path_list but with quoted input reading rules. Lines get split into Like \-path_list but with quoted input reading rules. Lines get split into
@ -1248,7 +1249,7 @@ In case of collision merge directories with existing ones, but do not overwrite
existing ISO file objects. existing ISO file objects.
.br .br
The rules for generating the copy addresses are the same as with The rules for generating the copy addresses are the same as with
command \-cpr (see above) resp. shell command cp \-r. Other than with \-cpr, command \-cpr (see above) or shell command cp \-r. Other than with \-cpr,
relative iso_rr_path_original will get prepended the \-cd path and not relative iso_rr_path_original will get prepended the \-cd path and not
the \-cdx path. Consider to \-mkdir iso_rr_path_dest before \-cp_clone the \-cdx path. Consider to \-mkdir iso_rr_path_dest before \-cp_clone
so the copy address does not depend on the number of iso_rr_path_original so the copy address does not depend on the number of iso_rr_path_original
@ -1333,7 +1334,7 @@ if they contain a / character, or as \-not_leaf pattern.
.TP .TP
\fB\-quoted_not_list\fR disk_path \fB\-quoted_not_list\fR disk_path
Like \-not_list but with quoted input reading rules. Each word is Like \-not_list but with quoted input reading rules. Each word is
handled as one parameter for \-not_paths resp. \-not_leaf. handled as one parameter for \-not_paths or \-not_leaf.
.TP .TP
\fB\-follow\fR occasion[:occasion[...]] \fB\-follow\fR occasion[:occasion[...]]
Enable or disable resolution of symbolic links and mountpoints under Enable or disable resolution of symbolic links and mountpoints under
@ -1426,7 +1427,7 @@ Set the threshold for automatic splitting of regular files. Such splitting
maps a large disk file onto a ISO directory with several part files in it. maps a large disk file onto a ISO directory with several part files in it.
This is necessary if the size of the disk file exceeds \-file_size_limit. This is necessary if the size of the disk file exceeds \-file_size_limit.
Older operating systems can handle files in mounted ISO 9660 filesystems Older operating systems can handle files in mounted ISO 9660 filesystems
only if they are smaller than 2 GiB resp. 4 GiB. only if they are smaller than 2 GiB or in other cases 4 GiB.
.br .br
Default is 0 which will exclude files larger than \-file_size_limit by a Default is 0 which will exclude files larger than \-file_size_limit by a
FAILURE event. FAILURE event.
@ -1558,8 +1559,8 @@ ACL entries are separated by comma or newline. If an entry is empty text or
begins with "#" then it will be ignored. A valid entry has to begin begins with "#" then it will be ignored. A valid entry has to begin
by a letter out of {ugom} for "user", "group", "other", "mask". It has to by a letter out of {ugom} for "user", "group", "other", "mask". It has to
contain two colons ":". A non\-empty text between those ":" gives a user id contain two colons ":". A non\-empty text between those ":" gives a user id
resp. group id. After the second ":" there may be letters out of {rwx\- #}. or group id. After the second ":" there may be letters out of {rwx\- #}.
The first three give read, write resp. execute permission. The first three give read, write, or execute permission.
Letters "\-", " " and TAB are ignored. "#" causes the rest of the entry to Letters "\-", " " and TAB are ignored. "#" causes the rest of the entry to
be ignored. Letter "X" or any other letters are not supported. Examples: be ignored. Letter "X" or any other letters are not supported. Examples:
.br .br
@ -1812,7 +1813,7 @@ All applicable \-compliance rules are taken into respect.
Rule "omit_version" is always enabled, because else Rule "omit_version" is always enabled, because else
namespaces "joliet" and "ecma119" would cause changes with every namespaces "joliet" and "ecma119" would cause changes with every
non\-directory name. non\-directory name.
Consider to also enable rules "no_force_dots" resp. "no_j_force_dots". Consider to also enable rules "no_force_dots" and "no_j_force_dots".
.br .br
The namespaces use different character sets and apply further restrictions The namespaces use different character sets and apply further restrictions
to name length, permissible characters, and mandatory name components. to name length, permissible characters, and mandatory name components.
@ -1840,7 +1841,7 @@ If this test is reached then the evaluation ends immediately and action
is performed if the decision is "yes" or "true". See operator \-if. is performed if the decision is "yes" or "true". See operator \-if.
.br .br
\fB\-true\fR and \fB\-false\fR : \fB\-true\fR and \fB\-false\fR :
Always match resp. match not. Evaluation goes on. Always match or match not, respectively. Evaluation goes on.
.br .br
\fB\-sort_lba\fR : \fB\-sort_lba\fR :
Always match. This causes \-find to perform its action in a sequence sorted by Always match. This causes \-find to perform its action in a sequence sorted by
@ -2288,7 +2289,7 @@ burn programs but you may well try some of those listed below
under SEE ALSO. under SEE ALSO.
.TP .TP
\fB\-eject\fR "in"|"out"|"all" \fB\-eject\fR "in"|"out"|"all"
Eject the medium in \-indev, resp. \-outdev, resp. both drives. Eject the medium in \-indev, \-outdev, or both drives, respectively.
Note: It is not possible yet to effectively eject disk files. Note: It is not possible yet to effectively eject disk files.
.TP .TP
\fB\-commit_eject\fR "in"|"out"|"all"|"none" \fB\-commit_eject\fR "in"|"out"|"all"|"none"
@ -2424,9 +2425,9 @@ Only if the drive reports contradicting speed information there will appear
\-speed 0, if it deviates from "Write speed H". \-speed 0, if it deviates from "Write speed H".
.br .br
"Read speed L" and "Read speed H" tell the minimum and maximum read speeds, "Read speed L" and "Read speed H" tell the minimum and maximum read speeds,
as reported by the drive. They would be chosen by \-read_speed "min" resp. as reported by the drive. They would be chosen by \-read_speed "min" or
"max" if they undercut resp. surpass the built\-in limits. These are "1x" "max" if they undercut or surpass the built\-in limits. These are "1x",
resp. "52xCD", "24xDVD", "20xBD". "52xCD", "24xDVD", "20xBD".
.TP .TP
\fB\-close_damaged\fR "as_needed"|"force" \fB\-close_damaged\fR "as_needed"|"force"
Try to close the upcomming track and session if the drive reported the medium Try to close the upcomming track and session if the drive reported the medium
@ -2445,7 +2446,8 @@ No image changes are allowed to be pending before this command is performed.
After closing was attempted, both drives are given up. After closing was attempted, both drives are given up.
.TP .TP
\fB\-list_profiles\fR "in"|"out"|"all" \fB\-list_profiles\fR "in"|"out"|"all"
Put out a list of media types supported by \-indev, resp. \-outdev, resp. both. Put out a list of media types supported by \-indev, \-outdev, or both,
respectively.
The currently recognized type is marked by text "(current)". The currently recognized type is marked by text "(current)".
.TP .TP
.B Settings for result writing: .B Settings for result writing:
@ -2837,6 +2839,44 @@ or BD media. A number of 64 KB may improve throughput with bus systems which
show latency problems. The default depends on media type, on command show latency problems. The default depends on media type, on command
\-stream_recording , and on compile time options. \-stream_recording , and on compile time options.
.TP .TP
\fB\-modesty_on_drive\fR parameter[:parameters]
Control whether the drive buffer shall be kept from getting completely filled.
Parameter "on" (or "1") keeps the program from trying to write to the burner
drive while its buffer is in danger to be filled over a given limit.
If this limit is exceeded then the program will wait until the filling
reaches a given low percentage value.
.br
This can ease the load on operating system and drive controller and thus help
with achieving better input bandwidth if disk and burner are not on independent
controllers (like hda and hdb). It may also help with simultaneous burns on
different burners with Linux kernels like 3.16. On the other hand it increases
the risk of buffer underflow and thus reduced write speed.
.br
Some burners are not suitable because they
report buffer fill with granularity too coarse in size or time,
or expect their buffer to be filled to the top before they go to full speed.
.br
Parameters "off" or "0" disable this feature.
.br
The threshhold for beginning to wait is given by parameter "max_percent=".
Parameter "min_percent=" defines the threshhold for resuming transmission.
Percentages are permissible in the range of 25 to 100. Numbers in this
range without a prepended name are interpreted as "on:min_percent=".
.br
E.g.: \-modesty_on_drive 75
.br
The optimal values depend on the buffer behavior of the drive.
.br
There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=".
Read the description of burn_drive_set_buffer_waiting() in libburn.h,
before setting them to non\-default values.
.br
Parameters, which are not mentioned with a \-modesty_on_drive command,
stay unchanged.
Default is:
.br
\-modesty_on_drive off:min_percent=65:max_percent=95
.TP
\fB\-stdio_sync\fR "on"|"off"|"end"|number \fB\-stdio_sync\fR "on"|"off"|"end"|number
Set the number of bytes after which to force output to stdio: pseudo drives. Set the number of bytes after which to force output to stdio: pseudo drives.
This forcing keeps the memory from being clogged with lots of This forcing keeps the memory from being clogged with lots of
@ -3306,8 +3346,8 @@ This is mutually exclusive with production of other boot blocks like MBR.
.br .br
\fBmips_discard\fR, \fBsparc_discard\fR, \fBhppa_discard\fR, \fBmips_discard\fR, \fBsparc_discard\fR, \fBhppa_discard\fR,
\fBalpha_discard\fR \fBalpha_discard\fR
revoke any boot file declarations made for mips, mipsel, sparc, hppa, revoke any boot file declarations made for mips/mipsel, sparc, hppa,
resp. alpha. or alpha, respectively.
This removes the ban on production of other boot blocks. This removes the ban on production of other boot blocks.
.br .br
\fBhfsplus_serial=\fRhexstring sets a string of 16 digits "0" to "9" \fBhfsplus_serial=\fRhexstring sets a string of 16 digits "0" to "9"
@ -3726,7 +3766,7 @@ before ending the program.
With setting "tree" the reassuring prompt will appear for an eventual With setting "tree" the reassuring prompt will appear for an eventual
directory only once and not for each file in its whole subtree. directory only once and not for each file in its whole subtree.
.br .br
Setting "off" silently kills any kind of image file object resp. performs Setting "off" silently kills any kind of image file object and performs
above irrevocable actions. above irrevocable actions.
.br .br
To really produce user prompts, command \-dialog needs to be set to "on". To really produce user prompts, command \-dialog needs to be set to "on".
@ -3842,7 +3882,7 @@ address.
"%sbsector%" will be substituted by the session start sector. "%sbsector%" will be substituted by the session start sector.
.br .br
"%track%", "%session%", "%volid%" will be substituted by track number, "%track%", "%session%", "%volid%" will be substituted by track number,
session number, resp. volume id of the depicted session. session number, or volume id of the depicted session.
.TP .TP
\fB\-print_size\fR \fB\-print_size\fR
Print the foreseeable consumption of 2048 byte blocks Print the foreseeable consumption of 2048 byte blocks
@ -3966,8 +4006,8 @@ File type 'e' indicates the El Torito boot catalog.
.br .br
If the file has non\-trivial ACL, then a '+' is appended to the permission info. If the file has non\-trivial ACL, then a '+' is appended to the permission info.
If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A'
for "hfsplus", resp. 'H' for multiple hiding gets appended. for "hfsplus", 'H' for multiple hiding gets appended.
Together with ACL it is 'i', 'j', 'a', resp. 'h'. Together with ACL it is 'i', 'j', 'a', 'h'.
.TP .TP
\fB\-lsdl\fR iso_rr_pattern [***] \fB\-lsdl\fR iso_rr_pattern [***]
Like \-lsd but also list some of the file attributes. Like \-lsd but also list some of the file attributes.
@ -4578,7 +4618,7 @@ commands \-mkdir, \-cp_clone, \-find update_merge, and \-find rm_merge.
\-root and \-old\-root set command \-disk_dev_ino to "ino_only" and \-md5 to "on", \-root and \-old\-root set command \-disk_dev_ino to "ino_only" and \-md5 to "on",
by default. by default.
\-disk_dev_ino can be set to "off" by \-\-old\-root\-no\-ino \-disk_dev_ino can be set to "off" by \-\-old\-root\-no\-ino
resp. to "on" by \-\-old\-root\-devno . or to "on" by \-\-old\-root\-devno .
\-md5 can be set to "off" by \-\-old\-root\-no\-md5 . \-md5 can be set to "off" by \-\-old\-root\-no\-md5 .
.br .br
Not original mkisofs options are \-\-quoted_path_list , Not original mkisofs options are \-\-quoted_path_list ,
@ -4741,7 +4781,7 @@ character device.
If list_path is not empty then the record will also be appended to the If list_path is not empty then the record will also be appended to the
data file given by this path. data file given by this path.
.br .br
Program scdbackup_verify will recognize and verify tag resp. record. Program scdbackup_verify will recognize and verify tag and file record.
.TP .TP
.B Scripting, dialog and program control features: .B Scripting, dialog and program control features:
.TP .TP
@ -4886,7 +4926,7 @@ result and info channel. An empty text will cause no output at all.
\fB\-prompt\fR text \fB\-prompt\fR text
Show text at beginning of output line and Show text at beginning of output line and
wait for the user to hit the Enter key wait for the user to hit the Enter key
resp. to send a line via stdin. or to send a line via stdin.
.TP .TP
\fB\-sleep\fR seconds \fB\-sleep\fR seconds
Wait for the given number of seconds before perfoming the next command. Wait for the given number of seconds before perfoming the next command.
@ -4916,7 +4956,7 @@ This transport becomes visible with \-report_about "ALL".
If path is not empty it gives the address of a plain text file where If path is not empty it gives the address of a plain text file where
a log record gets appended after each session. This log can be used to a log record gets appended after each session. This log can be used to
determine the start_lba of a session for mount options \-o sbsector= determine the start_lba of a session for mount options \-o sbsector=
resp. \-s from date or volume ID. (on GNU/Linux) or \-s (on FreeBSD) from date or volume ID.
.br .br
Record format is: timestamp start_lba size volume\-id Record format is: timestamp start_lba size volume\-id
.br .br
@ -5115,7 +5155,7 @@ or be "\-" to leave the according standard i/o channel unreplaced.
.br .br
xorriso will open the stdin pipe, read and execute dialog lines from it xorriso will open the stdin pipe, read and execute dialog lines from it
until the sender closes the pipe. The output pipes get opened depending on until the sender closes the pipe. The output pipes get opened depending on
mode "buffered" resp. "direct". After all lines are executed, xorriso will mode "buffered" or "direct". After all lines are executed, xorriso will
close its side of the pipes and enter a new cycle of opening, reading and close its side of the pipes and enter a new cycle of opening, reading and
executing. executing.
.br .br
@ -5602,7 +5642,7 @@ sums against the current file content on hard disk. This is usually much faster
than the default which compares both contents directly. than the default which compares both contents directly.
.br .br
With \fBmount\fR option \fB\-o "sbsector="\fR on GNU/Linux With \fBmount\fR option \fB\-o "sbsector="\fR on GNU/Linux
resp. \fB\-s\fR on FreeBSD or NetBSD or \fB\-s\fR on FreeBSD or NetBSD
it is possible to access the session trees which represent the older backup it is possible to access the session trees which represent the older backup
versions. With CD media, GNU/Linux mount accepts session numbers directly by versions. With CD media, GNU/Linux mount accepts session numbers directly by
its option "session=". its option "session=".
@ -5690,7 +5730,7 @@ $ xorriso \-abort_on NEVER \-indev /dev/sr0 \\
This can be repeated several times, if necessary with \-eject or with other This can be repeated several times, if necessary with \-eject or with other
\-indev drives. See the human readable part of "$HOME"/dvd_copy.map for \-indev drives. See the human readable part of "$HOME"/dvd_copy.map for
addresses which can be used on "$HOME"/dvd_copy with mount option \-o sbsector= addresses which can be used on "$HOME"/dvd_copy with mount option \-o sbsector=
resp. \-s. or \-s.
.SH FILES .SH FILES
.SS .SS
.B Program alias names: .B Program alias names:
@ -5775,7 +5815,7 @@ please send electronic mail to the public list <bug\-xorriso@gnu.org>.
If more privacy is desired, mail to <scdbackup@gmx.net>. If more privacy is desired, mail to <scdbackup@gmx.net>.
.br .br
Please describe what you expect \fBxorriso\fR to do, Please describe what you expect \fBxorriso\fR to do,
the program arguments resp. commands by which you tried to achieve it, the program arguments or dialog commands by which you tried to achieve it,
the messages of \fBxorriso\fR, and the undesirable outcome of your the messages of \fBxorriso\fR, and the undesirable outcome of your
program run. program run.
.br .br

View File

@ -418,7 +418,7 @@ int Xorriso_execute_option(struct XorrisO *xorriso, char *line, int flag);
0= off 0= off
1= in_double_quotes 1= in_double_quotes
2= in_quotes 2= in_quotes
3= with_quoted_input resp. on 3= with_quoted_input
bit5= Prepend the program name as (*argv)[0], so that bit5= Prepend the program name as (*argv)[0], so that
*argv is suitable for Xorriso_interpreter() *argv is suitable for Xorriso_interpreter()
and other calls which expect this. and other calls which expect this.
@ -992,7 +992,7 @@ struct Xorriso_lsT;
the redirection is ended by a call to Xorriso_pull_outlists() with the the redirection is ended by a call to Xorriso_pull_outlists() with the
stack_handle value returned by this call. stack_handle value returned by this call.
If Xorriso_option_pkt_output() is set to "on", then it will consolidate If Xorriso_option_pkt_output() is set to "on", then it will consolidate
output in the result_list of Xorriso_fetch_outlists() resp. output in the result_list of Xorriso_fetch_outlists() and
Xorriso_pull_outlists(). Xorriso_pull_outlists().
@param xorriso The environment handle @param xorriso The environment handle
@param stack_handle returns an id number which is unique as long as @param stack_handle returns an id number which is unique as long as
@ -1068,8 +1068,8 @@ int Xorriso_peek_outlists(struct XorrisO *xorriso, int stack_handle,
/** Disable the redirection given by stack_handle. If it was the current /** Disable the redirection given by stack_handle. If it was the current
receiver of messages then switch output to the next older redirection receiver of messages then switch output to the next older redirection,
resp. to the normal channels if no redirections are stacked any more. or to the normal channels if no redirections are stacked any more.
The messages collected by the disabled redirection are handed out as The messages collected by the disabled redirection are handed out as
two lists. Both lists have to be disposed via Xorriso_lst_destroy_all() two lists. Both lists have to be disposed via Xorriso_lst_destroy_all()
when they are no longer needed. when they are no longer needed.
@ -1097,7 +1097,7 @@ int Xorriso_pull_outlists(struct XorrisO *xorriso, int stack_handle,
@param xorriso The environment handle @param xorriso The environment handle
@param result_handler Pointer to the function which shall be called with @param result_handler Pointer to the function which shall be called with
each result message. A NULL pointer causes output each result message. A NULL pointer causes output
to be directed to stdout resp. to be interpreted to be directed to stdout or to be interpreted
as -pkt_output format if this is enabled by as -pkt_output format if this is enabled by
Xorriso_option_pkt_output(). Xorriso_option_pkt_output().
The function should return 1. A return value of -1 The function should return 1. A return value of -1
@ -1108,7 +1108,7 @@ int Xorriso_pull_outlists(struct XorrisO *xorriso, int stack_handle,
Submit NULL if result_handler is NULL. Submit NULL if result_handler is NULL.
@param info_handler Pointer to the function which shall be called with @param info_handler Pointer to the function which shall be called with
each info message. A NULL pointer causes output to each info message. A NULL pointer causes output to
be directed to stderr resp. to -as mkisofs -log-file. be directed to stderr or to -as mkisofs -log-file.
The function should return 1. A return value of -1 The function should return 1. A return value of -1
urges not to call again with further lines. urges not to call again with further lines.
@param info_handle The first argument of (*info_handler)(). It shall @param info_handle The first argument of (*info_handler)(). It shall
@ -1151,7 +1151,7 @@ char *Xorriso_lst_get_text(struct Xorriso_lsT *entry, int flag);
/** Obtain the address of the next item in the chain of messages. /** Obtain the address of the next item in the chain of messages.
An iteration over the output of Xorriso_pull_outlists() starts at the An iteration over the output of Xorriso_pull_outlists() starts at the
returned result_list resp. info_list and ends when this function returns returned result_list or info_list and ends when this function returns
NULL. NULL.
@param entry The current list item @param entry The current list item
@param flag unused yet, submit 0 @param flag unused yet, submit 0
@ -1650,6 +1650,10 @@ int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag);
int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv, int Xorriso_option_mkdiri(struct XorrisO *xorriso, int argc, char **argv,
int *idx, int flag); int *idx, int flag);
/* Command -modesty_on_drive */
int Xorriso_option_modesty_on_drive(struct XorrisO *xorriso, char *mode,
int flag);
/* Command -mount , -mount_cmd , -session_string */ /* Command -mount , -mount_cmd , -session_string */
/* @param bit0= -mount_cmd: print mount command to result channel rather /* @param bit0= -mount_cmd: print mount command to result channel rather
than performing it than performing it

File diff suppressed because it is too large Load Diff

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.4.1, Mai 17, 2015" @c man .TH XORRISO 1 "Version 1.4.1, Jul 30, 2015"
@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:
@ -330,7 +330,7 @@ for @command{xorriso}.
@* @*
Closed is the state of DVD-ROM media and of multi-session media which were Closed is the state of DVD-ROM media and of multi-session media which were
written with command -close on. If the drive is read-only hardware then it will written with command -close on. If the drive is read-only hardware then it will
probably show any media as closed CD-ROM resp. DVD-ROM. probably show any media as closed CD-ROM or DVD-ROM.
@* @*
Overwriteable media assume this state in such read-only drives or if they Overwriteable media assume this state in such read-only drives or if they
contain unrecognizable data in the first 32 data blocks. contain unrecognizable data in the first 32 data blocks.
@ -1003,7 +1003,7 @@ If an ISO image was written onto a partition with offset of 640000 blocks of
512 bytes, then it can be loaded from the base device by -displacement 160000. 512 bytes, then it can be loaded from the base device by -displacement 160000.
@* @*
In both cases, the ISO sessions should be self contained, i.e. not add-on In both cases, the ISO sessions should be self contained, i.e. not add-on
sessions to an ISO image outside their track resp. partition. sessions to an ISO image outside their track or partition.
@c man .TP @c man .TP
@item -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern @item -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern
@kindex -drive_class controls drive accessability @kindex -drive_class controls drive accessability
@ -1240,7 +1240,8 @@ for substantial time after they have been used for reading. This reduces
the startup time for the next drive operation but can be loud and waste the startup time for the next drive operation but can be loud and waste
energy if no i/o with the drive is expected to happen soon. energy if no i/o with the drive is expected to happen soon.
@* @*
Modes "in", "out", "all" immediately calm down -indev, -outdev, resp. both. Modes "in", "out", "all" immediately calm down -indev, -outdev, or both,
respectively.
Mode "revoke" immediately alerts both. Mode "revoke" immediately alerts both.
Mode "on" causes -calm_drive to be performed automatically after each -dev, Mode "on" causes -calm_drive to be performed automatically after each -dev,
-indev, and -outdev. Mode "off" disables this. -indev, and -outdev. Mode "off" disables this.
@ -1394,7 +1395,7 @@ as files to add, if they are not parameters to appropriate commands.
@cindex Insert, paths from disk file, -path_list @cindex Insert, paths from disk file, -path_list
Like -add but read the parameter words from file disk_path Like -add but read the parameter words from file disk_path
or standard input if disk_path is "-". or standard input if disk_path is "-".
The list must contain exactly one pathspec resp. disk_path pattern per line. The list must contain exactly one pathspec or disk_path pattern per line.
@c man .TP @c man .TP
@item -quoted_path_list disk_path @item -quoted_path_list disk_path
@kindex -quoted_path_list inserts paths from disk file @kindex -quoted_path_list inserts paths from disk file
@ -1547,7 +1548,7 @@ In case of collision merge directories with existing ones, but do not overwrite
existing ISO file objects. existing ISO file objects.
@* @*
The rules for generating the copy addresses are the same as with The rules for generating the copy addresses are the same as with
command -cpr (see above) resp. shell command cp -r. Other than with -cpr, command -cpr (see above) or shell command cp -r. Other than with -cpr,
relative iso_rr_path_original will get prepended the -cd path and not relative iso_rr_path_original will get prepended the -cd path and not
the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone
so the copy address does not depend on the number of iso_rr_path_original so the copy address does not depend on the number of iso_rr_path_original
@ -1648,7 +1649,7 @@ if they contain a / character, or as -not_leaf pattern.
@kindex -quoted_not_list sets exclusions @kindex -quoted_not_list sets exclusions
@cindex Insert, file exclusion, -quoted_not_list @cindex Insert, file exclusion, -quoted_not_list
Like -not_list but with quoted input reading rules. Each word is Like -not_list but with quoted input reading rules. Each word is
handled as one parameter for -not_paths resp. -not_leaf. handled as one parameter for -not_paths or -not_leaf.
@c man .TP @c man .TP
@item -follow occasion[:occasion[...]] @item -follow occasion[:occasion[...]]
@kindex -follow softlinks and mount points @kindex -follow softlinks and mount points
@ -1751,7 +1752,7 @@ Set the threshold for automatic splitting of regular files. Such splitting
maps a large disk file onto a ISO directory with several part files in it. maps a large disk file onto a ISO directory with several part files in it.
This is necessary if the size of the disk file exceeds -file_size_limit. This is necessary if the size of the disk file exceeds -file_size_limit.
Older operating systems can handle files in mounted ISO 9660 filesystems Older operating systems can handle files in mounted ISO 9660 filesystems
only if they are smaller than 2 GiB resp. 4 GiB. only if they are smaller than 2 GiB or in other cases 4 GiB.
@* @*
Default is 0 which will exclude files larger than -file_size_limit by a Default is 0 which will exclude files larger than -file_size_limit by a
FAILURE event. FAILURE event.
@ -1915,8 +1916,8 @@ ACL entries are separated by comma or newline. If an entry is empty text or
begins with "#" then it will be ignored. A valid entry has to begin begins with "#" then it will be ignored. A valid entry has to begin
by a letter out of @{ugom@} for "user", "group", "other", "mask". It has to by a letter out of @{ugom@} for "user", "group", "other", "mask". It has to
contain two colons ":". A non-empty text between those ":" gives a user id contain two colons ":". A non-empty text between those ":" gives a user id
resp. group id. After the second ":" there may be letters out of @{rwx- #@}. or group id. After the second ":" there may be letters out of @{rwx- #@}.
The first three give read, write resp. execute permission. The first three give read, write, or execute permission.
Letters "-", " " and TAB are ignored. "#" causes the rest of the entry to Letters "-", " " and TAB are ignored. "#" causes the rest of the entry to
be ignored. Letter "X" or any other letters are not supported. Examples: be ignored. Letter "X" or any other letters are not supported. Examples:
@* @*
@ -2193,7 +2194,7 @@ All applicable -compliance rules are taken into respect.
Rule "omit_version" is always enabled, because else Rule "omit_version" is always enabled, because else
namespaces "joliet" and "ecma119" would cause changes with every namespaces "joliet" and "ecma119" would cause changes with every
non-directory name. non-directory name.
Consider to also enable rules "no_force_dots" resp. "no_j_force_dots". Consider to also enable rules "no_force_dots" and "no_j_force_dots".
@* @*
The namespaces use different character sets and apply further restrictions The namespaces use different character sets and apply further restrictions
to name length, permissible characters, and mandatory name components. to name length, permissible characters, and mandatory name components.
@ -2223,7 +2224,7 @@ is performed if the decision is "yes" or "true". See operator -if.
@c man \fB\-true\fR and \fB\-false\fR : @c man \fB\-true\fR and \fB\-false\fR :
@c man-ignore-lines 1 @c man-ignore-lines 1
@item -true and -false : @item -true and -false :
Always match resp. match not. Evaluation goes on. Always match or match not, respectively. Evaluation goes on.
@* @*
@item -sort_lba : @item -sort_lba :
Always match. This causes -find to perform its action in a sequence sorted by Always match. This causes -find to perform its action in a sequence sorted by
@ -2718,7 +2719,7 @@ under SEE ALSO.
@item -eject "in"|"out"|"all" @item -eject "in"|"out"|"all"
@kindex -eject ejects drive tray @kindex -eject ejects drive tray
@cindex Drive, eject tray, -eject @cindex Drive, eject tray, -eject
Eject the medium in -indev, resp. -outdev, resp. both drives. Eject the medium in -indev, -outdev, or both drives, respectively.
Note: It is not possible yet to effectively eject disk files. Note: It is not possible yet to effectively eject disk files.
@c man .TP @c man .TP
@item -commit_eject "in"|"out"|"all"|"none" @item -commit_eject "in"|"out"|"all"|"none"
@ -2864,9 +2865,9 @@ Only if the drive reports contradicting speed information there will appear
-speed 0, if it deviates from "Write speed H". -speed 0, if it deviates from "Write speed H".
@* @*
"Read speed L" and "Read speed H" tell the minimum and maximum read speeds, "Read speed L" and "Read speed H" tell the minimum and maximum read speeds,
as reported by the drive. They would be chosen by -read_speed "min" resp. as reported by the drive. They would be chosen by -read_speed "min" or
"max" if they undercut resp. surpass the built-in limits. These are "1x" "max" if they undercut or surpass the built-in limits. These are "1x",
resp. "52xCD", "24xDVD", "20xBD". "52xCD", "24xDVD", "20xBD".
@c man .TP @c man .TP
@item -close_damaged "as_needed"|"force" @item -close_damaged "as_needed"|"force"
@kindex -close_damaged closes damaged track and session @kindex -close_damaged closes damaged track and session
@ -2889,7 +2890,8 @@ After closing was attempted, both drives are given up.
@item -list_profiles "in"|"out"|"all" @item -list_profiles "in"|"out"|"all"
@kindex -list_profiles lists supported media @kindex -list_profiles lists supported media
@cindex Drive, list supported media, -list_profiles @cindex Drive, list supported media, -list_profiles
Put out a list of media types supported by -indev, resp. -outdev, resp. both. Put out a list of media types supported by -indev, -outdev, or both,
respectively.
The currently recognized type is marked by text "(current)". The currently recognized type is marked by text "(current)".
@end table @end table
@c man .TP @c man .TP
@ -3335,6 +3337,46 @@ or BD media. A number of 64 KB may improve throughput with bus systems which
show latency problems. The default depends on media type, on command show latency problems. The default depends on media type, on command
-stream_recording , and on compile time options. -stream_recording , and on compile time options.
@c man .TP @c man .TP
@item -modesty_on_drive parameter[:parameters]
@kindex -modesty_on_drive keep drive buffer hungry
@cindex Write, drive buffer, -modesty_on_drive
Control whether the drive buffer shall be kept from getting completely filled.
Parameter "on" (or "1") keeps the program from trying to write to the burner
drive while its buffer is in danger to be filled over a given limit.
If this limit is exceeded then the program will wait until the filling
reaches a given low percentage value.
@*
This can ease the load on operating system and drive controller and thus help
with achieving better input bandwidth if disk and burner are not on independent
controllers (like hda and hdb). It may also help with simultaneous burns on
different burners with Linux kernels like 3.16. On the other hand it increases
the risk of buffer underflow and thus reduced write speed.
@*
Some burners are not suitable because they
report buffer fill with granularity too coarse in size or time,
or expect their buffer to be filled to the top before they go to full speed.
@*
Parameters "off" or "0" disable this feature.
@*
The threshhold for beginning to wait is given by parameter "max_percent=".
Parameter "min_percent=" defines the threshhold for resuming transmission.
Percentages are permissible in the range of 25 to 100. Numbers in this
range without a prepended name are interpreted as "on:min_percent=".
@*
E.g.: -modesty_on_drive 75
@*
The optimal values depend on the buffer behavior of the drive.
@*
There are also timing parameters "timeout_sec=", "min_usec=", "max_usec=".
Read the description of burn_drive_set_buffer_waiting() in libburn.h,
before setting them to non-default values.
@*
Parameters, which are not mentioned with a -modesty_on_drive command,
stay unchanged.
Default is:
@*
-modesty_on_drive off:min_percent=65:max_percent=95
@c man .TP
@item -stdio_sync "on"|"off"|"end"|number @item -stdio_sync "on"|"off"|"end"|number
@kindex -stdio_sync controls stdio buffer @kindex -stdio_sync controls stdio buffer
@cindex Write, buffer syncing, -stdio_sync @cindex Write, buffer syncing, -stdio_sync
@ -3845,8 +3887,8 @@ This is mutually exclusive with production of other boot blocks like MBR.
@* @*
@strong{mips_discard}, @strong{sparc_discard}, @strong{hppa_discard}, @strong{mips_discard}, @strong{sparc_discard}, @strong{hppa_discard},
@strong{alpha_discard} @strong{alpha_discard}
revoke any boot file declarations made for mips, mipsel, sparc, hppa, revoke any boot file declarations made for mips/mipsel, sparc, hppa,
resp. alpha. or alpha, respectively.
This removes the ban on production of other boot blocks. This removes the ban on production of other boot blocks.
@* @*
@cindex HFS+ serial number @cindex HFS+ serial number
@ -4322,7 +4364,7 @@ before ending the program.
With setting "tree" the reassuring prompt will appear for an eventual With setting "tree" the reassuring prompt will appear for an eventual
directory only once and not for each file in its whole subtree. directory only once and not for each file in its whole subtree.
@* @*
Setting "off" silently kills any kind of image file object resp. performs Setting "off" silently kills any kind of image file object and performs
above irrevocable actions. above irrevocable actions.
@* @*
To really produce user prompts, command -dialog needs to be set to "on". To really produce user prompts, command -dialog needs to be set to "on".
@ -4455,7 +4497,7 @@ address.
"%sbsector%" will be substituted by the session start sector. "%sbsector%" will be substituted by the session start sector.
@* @*
"%track%", "%session%", "%volid%" will be substituted by track number, "%track%", "%session%", "%volid%" will be substituted by track number,
session number, resp. volume id of the depicted session. session number, or volume id of the depicted session.
@c man .TP @c man .TP
@item -print_size @item -print_size
@kindex -print_size predicts image size @kindex -print_size predicts image size
@ -4607,8 +4649,8 @@ File type 'e' indicates the El Torito boot catalog.
@* @*
If the file has non-trivial ACL, then a '+' is appended to the permission info. If the file has non-trivial ACL, then a '+' is appended to the permission info.
If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A' If the file is hidden, then 'I' for "iso_rr", 'J' for "joliet", 'A'
for "hfsplus", resp. 'H' for multiple hiding gets appended. for "hfsplus", 'H' for multiple hiding gets appended.
Together with ACL it is 'i', 'j', 'a', resp. 'h'. Together with ACL it is 'i', 'j', 'a', 'h'.
@c man .TP @c man .TP
@item -lsdl iso_rr_pattern [***] @item -lsdl iso_rr_pattern [***]
@kindex -lsdl lists files in ISO image @kindex -lsdl lists files in ISO image
@ -5320,7 +5362,7 @@ commands -mkdir, -cp_clone, -find update_merge, and -find rm_merge.
-root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on", -root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on",
by default. by default.
@minus{}disk_dev_ino can be set to "off" by @minus{}@minus{}old-root-no-ino @minus{}disk_dev_ino can be set to "off" by @minus{}@minus{}old-root-no-ino
resp. to "on" by @minus{}@minus{}old-root-devno . or to "on" by @minus{}@minus{}old-root-devno .
@minus{}md5 can be set to "off" by @minus{}@minus{}old-root-no-md5 . @minus{}md5 can be set to "off" by @minus{}@minus{}old-root-no-md5 .
@* @*
Not original mkisofs options are @minus{}@minus{}quoted_path_list , Not original mkisofs options are @minus{}@minus{}quoted_path_list ,
@ -5493,7 +5535,7 @@ character device.
If list_path is not empty then the record will also be appended to the If list_path is not empty then the record will also be appended to the
data file given by this path. data file given by this path.
@* @*
Program scdbackup_verify will recognize and verify tag resp. record. Program scdbackup_verify will recognize and verify tag and file record.
@end table @end table
@c man .TP @c man .TP
@c man .B Scripting, dialog and program control features: @c man .B Scripting, dialog and program control features:
@ -5674,7 +5716,7 @@ result and info channel. An empty text will cause no output at all.
@cindex Program, prompt for enter key, -prompt @cindex Program, prompt for enter key, -prompt
Show text at beginning of output line and Show text at beginning of output line and
wait for the user to hit the Enter key wait for the user to hit the Enter key
resp. to send a line via stdin. or to send a line via stdin.
@c man .TP @c man .TP
@item -sleep seconds @item -sleep seconds
@kindex -sleep waits for a given time span @kindex -sleep waits for a given time span
@ -5711,7 +5753,7 @@ This transport becomes visible with -report_about "ALL".
If path is not empty it gives the address of a plain text file where If path is not empty it gives the address of a plain text file where
a log record gets appended after each session. This log can be used to a log record gets appended after each session. This log can be used to
determine the start_lba of a session for mount options -o sbsector= determine the start_lba of a session for mount options -o sbsector=
resp. -s from date or volume ID. (on GNU/Linux) or -s (on FreeBSD) from date or volume ID.
@* @*
Record format is: timestamp start_lba size volume-id Record format is: timestamp start_lba size volume-id
@* @*
@ -5934,7 +5976,7 @@ or be "-" to leave the according standard i/o channel unreplaced.
@* @*
xorriso will open the stdin pipe, read and execute dialog lines from it xorriso will open the stdin pipe, read and execute dialog lines from it
until the sender closes the pipe. The output pipes get opened depending on until the sender closes the pipe. The output pipes get opened depending on
mode "buffered" resp. "direct". After all lines are executed, xorriso will mode "buffered" or "direct". After all lines are executed, xorriso will
close its side of the pipes and enter a new cycle of opening, reading and close its side of the pipes and enter a new cycle of opening, reading and
executing. executing.
@* @*
@ -6562,7 +6604,7 @@ sums against the current file content on hard disk. This is usually much faster
than the default which compares both contents directly. than the default which compares both contents directly.
@* @*
With @strong{mount} option @strong{-o "sbsector="} on GNU/Linux With @strong{mount} option @strong{-o "sbsector="} on GNU/Linux
resp. @strong{-s} on FreeBSD or NetBSD or @strong{-s} on FreeBSD or NetBSD
it is possible to access the session trees which represent the older backup it is possible to access the session trees which represent the older backup
versions. With CD media, GNU/Linux mount accepts session numbers directly by versions. With CD media, GNU/Linux mount accepts session numbers directly by
its option "session=". its option "session=".
@ -6666,7 +6708,7 @@ $ xorriso -abort_on NEVER -indev /dev/sr0 \
This can be repeated several times, if necessary with -eject or with other This can be repeated several times, if necessary with -eject or with other
-indev drives. See the human readable part of "$HOME"/dvd_copy.map for -indev drives. See the human readable part of "$HOME"/dvd_copy.map for
addresses which can be used on "$HOME"/dvd_copy with mount option -o sbsector= addresses which can be used on "$HOME"/dvd_copy with mount option -o sbsector=
resp. -s. or -s.
@c man .SH FILES @c man .SH FILES
@node Files, Seealso, Examples, Top @node Files, Seealso, Examples, Top
@chapter Files @chapter Files
@ -6798,7 +6840,7 @@ If more privacy is desired, mail to @email{scdbackup@@gmx.net}.
@* @*
@sp 1 @sp 1
Please describe what you expect @command{xorriso} to do, Please describe what you expect @command{xorriso} to do,
the program arguments resp. commands by which you tried to achieve it, the program arguments or dialog commands by which you tried to achieve it,
the messages of @command{xorriso}, and the undesirable outcome of your the messages of @command{xorriso}, and the undesirable outcome of your
program run. program run.
@* @*

View File

@ -365,6 +365,16 @@ struct XorrisO { /* the global context of xorriso */
int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */ int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */
int modesty_on_drive; /* "enable" of burn_drive_set_buffer_waiting()
0= disable , 1= enable waiting ,
(-1 = do not change setting)
*/
int min_buffer_usec; /* The other parameters for this function */
int max_buffer_usec;
int buffer_timeout_sec;
int min_buffer_percent;
int max_buffer_percent;
int stdio_sync; /* stdio fsync interval: -1, 0, >=32 */ int stdio_sync; /* stdio fsync interval: -1, 0, >=32 */
int stdio_sync_is_default; /* 1= is still default , 0= has been set */ int stdio_sync_is_default; /* 1= is still default , 0= has been set */

View File

@ -1 +1 @@
#define Xorriso_timestamP "2015.07.04.094919" #define Xorriso_timestamP "2015.07.31.162206"