Improved -as cdrecord

This commit is contained in:
2008-02-19 21:24:05 +00:00
parent 2d2e04bef4
commit 2c1f9280a0
5 changed files with 109 additions and 30 deletions

View File

@@ -2746,6 +2746,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->pacifier_interval= 1.0;
m->pacifier_count= 0;
m->pacifier_total= 0;
m->pacifier_fifo= NULL;
m->start_time= 0.0;
m->last_update_time= 0.0;
m->result_line[0]= 0;
@@ -6103,7 +6104,9 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"drive_scsi_dev_family=", "fallback_program=", "modesty_on_drive=",
"tao_to_sao_tsize=",
"direct_write_amount=", "write_start_address=", "msifile=", "tsize=",
"direct_write_amount=", "write_start_address=", "msifile=",
"tsize=",
""
};
@@ -6125,7 +6128,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"--list_ignored_options", "--no_rc", "--no_convert_fs_adr",
"--prodvd_cli_compatible", "--single_track",
"--grow_overwriteable_iso", "--help", "--tell_media_space",
"--tell_media_space",
""
};
@@ -6135,6 +6138,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"Note: This is not cdrecord. See xorriso -help, xorriso -version, man xorriso",
"Options:",
"\t-version\tprint version information and exit emulation",
"\t--devices\tprint list of available MMC drives and exit emulation",
"\tdev=target\tpseudo-SCSI target to use as CD-Recorder",
"\t-v\t\tincrement verbose level by one",
"\t-checkdrive\tcheck if a driver for the drive is present",
@@ -6149,7 +6153,8 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
"\t-data\t\tSubsequent tracks are CD-ROM data mode 1 (default)",
"\t-pad\t\tpadsize=30k",
"\t-nopad\t\tDo not pad",
"\t-help\t\tprint this text to stderr and exit",
"\t-help\t\tprint this text to stderr and exit emulation",
"\t--help\t\tprint xorriso help and exit emulation",
"Actually this is the integrated ISO RockRidge filesystem manipulator xorriso",
"lending its libburn capabilities to a very limited cdrecord emulation.",
"Only a single data track can be burnt to blank or overwriteable media which",
@@ -6295,6 +6300,12 @@ no_volunteer:;
/* do_scanbus= 1; */
} else if(strcmp(argv[i], "-toc")==0) {
do_toc= 1;
} else if(strcmp(argv[i], "--grow_overwriteable_iso")==0) {
sprintf(xorriso->info_text,
"-as %s: Option --grow_overwriteable_iso not supported.",
whom);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i],"-verbose")==0) {
do_verbous++;
} else if(strcmp(argv[i], "-vv")==0) {
@@ -6305,6 +6316,8 @@ no_volunteer:;
do_version= 1;
} else if(strcmp(argv[i], "-help")==0) {
do_help= 1;
} else if(strcmp(argv[i], "--help")==0) {
do_help= 2;
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
sprintf(xorriso->info_text, "-as %s: Unknown option %s",
whom, Text_shellsafe(argv[i], sfe, 0));
@@ -6334,9 +6347,13 @@ no_volunteer:;
ret= 1; goto ex;
}
if(do_help) {
for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
sprintf(xorriso->info_text, "%s\n", helptext[i]);
Xorriso_info(xorriso,0);
if(do_help==2) {
Xorriso_option_help(xorriso, 0);
} else {
for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
sprintf(xorriso->info_text, "%s\n", helptext[i]);
Xorriso_info(xorriso,0);
}
}
ret= 1; goto ex;
}
@@ -7927,6 +7944,11 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" -findx disk_path [-name pattern] like -find but in local filesystem.",
" Any -exec option is ignored. Action is always echo.",
"",
"Compatibility emulation (argument list may be ended by --):",
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|path|-]",
" Perform some cdrecord gestures, eventually write at most one",
" data track to blank or overwriteable media. See man cdrecord.",
"",
"General options:",
" -help Print this text",
" -abort_on severity Set the threshhold for events to abort the program.",