New command -msg_op
This commit is contained in:
parent
db6e65dde8
commit
c86aafaa0f
@ -227,6 +227,7 @@ Xorriso_option_md5;
|
|||||||
Xorriso_option_mkdiri;
|
Xorriso_option_mkdiri;
|
||||||
Xorriso_option_mount;
|
Xorriso_option_mount;
|
||||||
Xorriso_option_mount_opts;
|
Xorriso_option_mount_opts;
|
||||||
|
Xorriso_option_msg_op;
|
||||||
Xorriso_option_mvi;
|
Xorriso_option_mvi;
|
||||||
Xorriso_option_no_rc;
|
Xorriso_option_no_rc;
|
||||||
Xorriso_option_not_leaf;
|
Xorriso_option_not_leaf;
|
||||||
|
@ -331,6 +331,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
|||||||
m->msgw_msg_pending= 0;
|
m->msgw_msg_pending= 0;
|
||||||
m->msgw_fetch_lock_ini= 0;
|
m->msgw_fetch_lock_ini= 0;
|
||||||
m->msg_sieve= NULL;
|
m->msg_sieve= NULL;
|
||||||
|
m->msg_sieve_disabled= 0;
|
||||||
m->msglist_stackfill= 0;
|
m->msglist_stackfill= 0;
|
||||||
m->status_history_max= Xorriso_status_history_maX;
|
m->status_history_max= Xorriso_status_history_maX;
|
||||||
m->scsi_log= 0;
|
m->scsi_log= 0;
|
||||||
|
@ -2076,6 +2076,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
|||||||
" packet payload. Example of a info message with newline:",
|
" packet payload. Example of a info message with newline:",
|
||||||
" I:1: enter option text :",
|
" I:1: enter option text :",
|
||||||
" -pkt_output:on is intended for use by frontend programs.",
|
" -pkt_output:on is intended for use by frontend programs.",
|
||||||
|
" -msg_op \"start_sieve\"|\"read_sieve\"|\"clear_sieve\"|\"end_sieve\"|\"parse\"",
|
||||||
|
" Enable, use, or disable message sieve. Or parse line into",
|
||||||
|
" words.",
|
||||||
" -logfile channel fileaddress Copy output of a channel to the given file.",
|
" -logfile channel fileaddress Copy output of a channel to the given file.",
|
||||||
" channel may be 'R','I','M' as with -pkt_output or '.'",
|
" channel may be 'R','I','M' as with -pkt_output or '.'",
|
||||||
" for the consolidated -pkt_output stream.",
|
" for the consolidated -pkt_output stream.",
|
||||||
|
@ -838,6 +838,146 @@ unknown_mode:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Command -msg_op */
|
||||||
|
int Xorriso_option_msg_op(struct XorrisO *xorriso, char *what, char *arg,
|
||||||
|
int flag)
|
||||||
|
{
|
||||||
|
int ret, available, argc, pargc, i, pflag, max_words, input_lines, l, msd_mem;
|
||||||
|
char **argv= NULL, **pargv= NULL, *msg= "";
|
||||||
|
char *pline= NULL, *prefix, *separators;
|
||||||
|
|
||||||
|
msd_mem= xorriso->msg_sieve_disabled;
|
||||||
|
|
||||||
|
Xorriso_alloc_meM(pline, char, SfileadrL);
|
||||||
|
|
||||||
|
ret= 1;
|
||||||
|
if(strcmp(what, "parse") == 0) {
|
||||||
|
ret= Xorriso_parse_line(xorriso, arg, "", "", 4, &argc, &argv, 0);
|
||||||
|
prefix= "";
|
||||||
|
if(argc > 0)
|
||||||
|
prefix= argv[0];
|
||||||
|
separators= "";
|
||||||
|
if(argc > 1)
|
||||||
|
separators= argv[1];
|
||||||
|
max_words= 0;
|
||||||
|
if(argc > 2)
|
||||||
|
sscanf(argv[2], "%d", &max_words);
|
||||||
|
pflag= 0;
|
||||||
|
if(argc > 3)
|
||||||
|
sscanf(argv[3], "%d", &pflag);
|
||||||
|
|
||||||
|
input_lines= 1;
|
||||||
|
if(argc > 4)
|
||||||
|
sscanf(argv[4], "%d", &input_lines);
|
||||||
|
if(input_lines > 1)
|
||||||
|
sprintf(xorriso->info_text, "-msg_op parse: Enter %d lines of text\n",
|
||||||
|
input_lines);
|
||||||
|
else
|
||||||
|
sprintf(xorriso->info_text, "-msg_op parse: Enter text line\n");
|
||||||
|
Xorriso_info(xorriso, 0);
|
||||||
|
pline[0]= 0;
|
||||||
|
for(i= 0; i < input_lines; i++) {
|
||||||
|
l= strlen(pline);
|
||||||
|
ret= Xorriso_dialog_input(xorriso, pline + l, SfileadrL - l - 1, 8);
|
||||||
|
if(ret <= 0)
|
||||||
|
goto ex;
|
||||||
|
if(i < input_lines - 1)
|
||||||
|
strcat(pline, "\n");
|
||||||
|
}
|
||||||
|
sprintf(xorriso->info_text, "-msg_op parse: Text input complete\n");
|
||||||
|
Xorriso_info(xorriso, 0);
|
||||||
|
ret= Xorriso_parse_line(xorriso, pline, prefix, separators, max_words,
|
||||||
|
&pargc, &pargv, pflag);
|
||||||
|
xorriso->msg_sieve_disabled= 1;
|
||||||
|
sprintf(xorriso->result_line, "%d\n", ret);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
if(ret == 1) {
|
||||||
|
sprintf(xorriso->result_line, "%d\n", pargc);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
for(i= 0; i < pargc; i++) {
|
||||||
|
ret= Sfile_count_char(pargv[i], '\n') + 1;
|
||||||
|
sprintf(xorriso->result_line, "%d\n", ret);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
Sfile_str(xorriso->result_line, pargv[i], 0);
|
||||||
|
strcat(xorriso->result_line, "\n");
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sprintf(xorriso->result_line, "0\n");
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
}
|
||||||
|
xorriso->msg_sieve_disabled= msd_mem;
|
||||||
|
Xorriso__dispose_words(&argc, &argv);
|
||||||
|
Xorriso__dispose_words(&pargc, &pargv);
|
||||||
|
} else if(strcmp(what, "start_sieve") == 0) {
|
||||||
|
Xorriso_sieve_dispose(xorriso, 0);
|
||||||
|
ret= Xorriso_sieve_big(xorriso, 0);
|
||||||
|
msg= "Message sieve enabled";
|
||||||
|
|
||||||
|
/* >>> } else if(strcmp(what, "add_filter_rule") == 0) { */;
|
||||||
|
|
||||||
|
} else if(strcmp(what, "clear_sieve") == 0) {
|
||||||
|
ret= Xorriso_sieve_clear_results(xorriso, 0);
|
||||||
|
msg= "Recorded message sieve results disposed";
|
||||||
|
} else if(strcmp(what, "end_sieve") == 0) {
|
||||||
|
ret= Xorriso_sieve_dispose(xorriso, 0);
|
||||||
|
msg= "Message sieve disabled";
|
||||||
|
} else if(strcmp(what, "read_sieve") == 0) {
|
||||||
|
ret= Xorriso_sieve_get_result(xorriso, arg, &pargc, &pargv, &available, 0);
|
||||||
|
xorriso->msg_sieve_disabled= 1;
|
||||||
|
sprintf(xorriso->result_line, "%d\n", ret);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
if(ret > 0) {
|
||||||
|
sprintf(xorriso->result_line, "%d\n", pargc);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
for(i= 0; i < pargc; i++) {
|
||||||
|
ret= Sfile_count_char(pargv[i], '\n') + 1;
|
||||||
|
sprintf(xorriso->result_line, "%d\n", ret);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
Sfile_str(xorriso->result_line, pargv[i], 0);
|
||||||
|
strcat(xorriso->result_line, "\n");
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
strcpy(xorriso->result_line, "0\n");
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
available= 0;
|
||||||
|
}
|
||||||
|
sprintf(xorriso->result_line, "%d\n", available);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
xorriso->msg_sieve_disabled= msd_mem;
|
||||||
|
Xorriso__dispose_words(&pargc, &pargv);
|
||||||
|
ret= 1;
|
||||||
|
} else if(strcmp(what, "show_sieve") == 0) {
|
||||||
|
ret= Xorriso_sieve_get_result(xorriso, "", &pargc, &pargv, &available, 8);
|
||||||
|
xorriso->msg_sieve_disabled= 1;
|
||||||
|
sprintf(xorriso->result_line, "%d\n", ret);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
if(ret > 0) {
|
||||||
|
sprintf(xorriso->result_line, "%d\n", pargc);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
for(i= 0; i < pargc; i++) {
|
||||||
|
sprintf(xorriso->result_line, "%s\n", pargv[i]);
|
||||||
|
Xorriso_result(xorriso, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xorriso->msg_sieve_disabled= msd_mem;
|
||||||
|
Xorriso__dispose_words(&pargc, &pargv);
|
||||||
|
} else {
|
||||||
|
sprintf(xorriso->info_text, "-msg_op: unknown operation '%s'", what);
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||||
|
ret= 0;
|
||||||
|
}
|
||||||
|
if(ret > 0 && msg[0])
|
||||||
|
Xorriso_msgs_submit(xorriso, 0, msg, 0, "NOTE", 0);
|
||||||
|
|
||||||
|
ex:;
|
||||||
|
xorriso->msg_sieve_disabled= msd_mem;
|
||||||
|
Xorriso_free_meM(pline);
|
||||||
|
return(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Option -mv alias -mvi */
|
/* Option -mv alias -mvi */
|
||||||
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
||||||
int *idx, int flag)
|
int *idx, int flag)
|
||||||
|
@ -529,7 +529,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
|||||||
"data_cache_size",
|
"data_cache_size",
|
||||||
"errfile_log","error_behavior","extract","extract_single",
|
"errfile_log","error_behavior","extract","extract_single",
|
||||||
"jigdo","lns","lnsi","load","logfile",
|
"jigdo","lns","lnsi","load","logfile",
|
||||||
"map","map_single","page","return_with",
|
"map","map_single","msg_op","page","return_with",
|
||||||
"scdbackup_tag","update","update_r","volume_date",
|
"scdbackup_tag","update","update_r","volume_date",
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
@ -735,7 +735,7 @@ int Xorriso_cmd_sorting_rank(struct XorrisO *xorriso,
|
|||||||
"check_media_defaults", "check_media", "check_md5", "check_md5_r",
|
"check_media_defaults", "check_media", "check_md5", "check_md5_r",
|
||||||
|
|
||||||
"* Support for frontend programs via stdin and stdout (2):",
|
"* Support for frontend programs via stdin and stdout (2):",
|
||||||
"pkt_output", "logfile", "mark",
|
"pkt_output", "logfile", "mark", "msg_op",
|
||||||
|
|
||||||
"* Dialog mode control:",
|
"* Dialog mode control:",
|
||||||
"dialog", "page", "use_readline", "reassure",
|
"dialog", "page", "use_readline", "reassure",
|
||||||
@ -1437,6 +1437,10 @@ next_command:;
|
|||||||
(*idx)++;
|
(*idx)++;
|
||||||
ret= Xorriso_option_mount_opts(xorriso, arg1, 0);
|
ret= Xorriso_option_mount_opts(xorriso, arg1, 0);
|
||||||
|
|
||||||
|
} else if(strcmp(cmd,"msg_op") == 0) {
|
||||||
|
(*idx)+= 2;
|
||||||
|
ret= Xorriso_option_msg_op(xorriso, arg1, arg2, 0);
|
||||||
|
|
||||||
} 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);
|
||||||
|
|
||||||
@ -1829,7 +1833,7 @@ next_command:;
|
|||||||
|
|
||||||
} else if(strcmp(arg1, "sieve_get_result") == 0) {
|
} else if(strcmp(arg1, "sieve_get_result") == 0) {
|
||||||
(*idx)++;
|
(*idx)++;
|
||||||
sev1= "Media summary:";
|
name= "Media summary:";
|
||||||
if(*idx - 1 < argc)
|
if(*idx - 1 < argc)
|
||||||
name= argv[*idx - 1];
|
name= argv[*idx - 1];
|
||||||
ret= Xorriso_sieve_get_result(xorriso, name, &pargc, &pargv, &available,
|
ret= Xorriso_sieve_get_result(xorriso, name, &pargc, &pargv, &available,
|
||||||
|
@ -46,6 +46,18 @@ char *Sfile_fgets_n(char *line, int maxl, FILE *fp, int flag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int Sfile_count_char(char *text, char to_count)
|
||||||
|
{
|
||||||
|
int count= 0;
|
||||||
|
char *cpt;
|
||||||
|
|
||||||
|
for(cpt= text; *cpt != 0; cpt++)
|
||||||
|
if(*cpt == to_count)
|
||||||
|
count++;
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int Sfile_count_components(char *path, int flag)
|
int Sfile_count_components(char *path, int flag)
|
||||||
/*
|
/*
|
||||||
bit0= do not ignore trailing slash
|
bit0= do not ignore trailing slash
|
||||||
|
@ -42,7 +42,10 @@ int Sfile_add_to_path(char path[SfileadrL], char *addon, int flag);
|
|||||||
int Sfile_scale(double value, char *result, int siz, double thresh, int flag);
|
int Sfile_scale(double value, char *result, int siz, double thresh, int flag);
|
||||||
|
|
||||||
int Sfile_destroy_argv(int *argc, char ***argv, int flag);
|
int Sfile_destroy_argv(int *argc, char ***argv, int flag);
|
||||||
|
|
||||||
|
int Sfile_count_char(char *text, char to_count);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
bit0= do not ignore trailing slash
|
bit0= do not ignore trailing slash
|
||||||
bit1= do not ignore empty components (other than the empty root name)
|
bit1= do not ignore empty components (other than the empty root name)
|
||||||
|
@ -65,6 +65,7 @@ int Xorriso_dialog_input(struct XorrisO *xorriso, char line[], int linesize,
|
|||||||
bit0= do not write to history
|
bit0= do not write to history
|
||||||
bit1= do not read input (but eventually write to history)
|
bit1= do not read input (but eventually write to history)
|
||||||
bit2= do not write to history line which begin with "-history:" or "-history "
|
bit2= do not write to history line which begin with "-history:" or "-history "
|
||||||
|
bit3= enforce single line dialog mode
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
char *cpt= NULL, **argv= NULL, *linept, *why_append= "";
|
char *cpt= NULL, **argv= NULL, *linept, *why_append= "";
|
||||||
@ -131,7 +132,7 @@ process_single:;
|
|||||||
|
|
||||||
#endif /* ! Xorriso_with_readlinE */
|
#endif /* ! Xorriso_with_readlinE */
|
||||||
|
|
||||||
if(xorriso->dialog == 2) {
|
if(xorriso->dialog == 2 && !(flag & 8)) {
|
||||||
append_line= 0;
|
append_line= 0;
|
||||||
if(linept != line && strcmp(linept, "@@@") == 0) {
|
if(linept != line && strcmp(linept, "@@@") == 0) {
|
||||||
sprintf(xorriso->info_text, "Incomplete input line cleared by %s",
|
sprintf(xorriso->info_text, "Incomplete input line cleared by %s",
|
||||||
@ -1604,6 +1605,7 @@ int Xorriso_sieve_clear_results(struct XorrisO *xorriso, int flag)
|
|||||||
Do not allocate memory.
|
Do not allocate memory.
|
||||||
bit2= If *argv is not NULL, then free it before attaching
|
bit2= If *argv is not NULL, then free it before attaching
|
||||||
new memory.
|
new memory.
|
||||||
|
bit3= Do not read recorded data but rather list all filter names
|
||||||
*/
|
*/
|
||||||
int Xorriso_sieve_get_result(struct XorrisO *xorriso, char *name,
|
int Xorriso_sieve_get_result(struct XorrisO *xorriso, char *name,
|
||||||
int *argc, char ***argv, int *available, int flag)
|
int *argc, char ***argv, int *available, int flag)
|
||||||
@ -1620,6 +1622,26 @@ int Xorriso_sieve_get_result(struct XorrisO *xorriso, char *name,
|
|||||||
if(xorriso->msg_sieve == NULL)
|
if(xorriso->msg_sieve == NULL)
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
|
if(flag & 8) {
|
||||||
|
if(xorriso->msg_sieve->num_filters <= 0)
|
||||||
|
return(0);
|
||||||
|
*argv= calloc(xorriso->msg_sieve->num_filters, sizeof(char *));
|
||||||
|
if(*argv == NULL)
|
||||||
|
goto no_mem;
|
||||||
|
*argc= xorriso->msg_sieve->num_filters;
|
||||||
|
for(i= 0; i < *argc; i++)
|
||||||
|
(*argv)[i]= NULL;
|
||||||
|
i= 0;
|
||||||
|
for(f= xorriso->msg_sieve->first_filter; f != NULL; f= f->next) {
|
||||||
|
(*argv)[*argc - i - 1]= strdup(f->name);
|
||||||
|
if((*argv)[*argc - i - 1] == NULL)
|
||||||
|
goto no_mem;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
*argc= i;
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
|
||||||
for(f= xorriso->msg_sieve->first_filter; f != NULL; f= f->next) {
|
for(f= xorriso->msg_sieve->first_filter; f != NULL; f= f->next) {
|
||||||
if(strcmp(f->name, name) != 0)
|
if(strcmp(f->name, name) != 0)
|
||||||
continue;
|
continue;
|
||||||
@ -1694,50 +1716,94 @@ int Xorriso_sieve_big(struct XorrisO *xorriso, int flag)
|
|||||||
int flag;
|
int flag;
|
||||||
};
|
};
|
||||||
static struct Xorriso_sieve_big_filteR filters[] = {
|
static struct Xorriso_sieve_big_filteR filters[] = {
|
||||||
|
{"-changes_pending", 3, "-changes_pending", "", 1,
|
||||||
|
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
||||||
|
{"? -dev", 3, "? -dev", "", 4, { 0, 1, 3, 4, -1, -1},
|
||||||
|
10, 0},
|
||||||
|
{"?? -dev", 3, "?? -dev", "", 4, { 0, 1, 3, 4, -1, -1},
|
||||||
|
90, 0},
|
||||||
|
{"Abstract File:", 3, "Abstract File: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"After commit :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"App Id :", 3, "App Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"Biblio File :", 3, "Biblio File : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"Build timestamp :", 3, "Build timestamp : ", "", 1,
|
||||||
|
{ 0, -1, -1, -1, -1, -1}, 1, 1},
|
||||||
|
{"CopyrightFile:", 3, "CopyrightFile: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"DVD obs 64 kB:", 3, "DVD obs 64 kB:", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
{"Drive current:", 3, "Drive current:", "", 2, { 0, 1, -1, -1, -1, -1},
|
{"Drive current:", 3, "Drive current:", "", 2, { 0, 1, -1, -1, -1, -1},
|
||||||
2, 0},
|
2, 0},
|
||||||
{"Drive type :", 3, "Drive type :", "", 3, { 1, 3, 5, -1, -1, -1},
|
{"Drive type :", 3, "Drive type :", "", 3, { 1, 3, 5, -1, -1, -1},
|
||||||
2, 0},
|
2, 0},
|
||||||
{"Media current:", 3, "Media current: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Ext. filters :", 3, "Ext. filters : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
2, 1},
|
1, 1},
|
||||||
{"Media status :", 3, "Media status : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"File damaged :", 3, "File damaged :", "", 4, { 0, 2, 4, 6, -1, -1},
|
||||||
2, 1},
|
10000, 0},
|
||||||
{"Media blocks :", 3, "Media blocks :", "", 3, { 0, 3, 6, -1, -1, -1},
|
{"File data lba:", 3, "File data lba:", "", 5, { 0, 2, 4, 6, 8, -1},
|
||||||
2, 0},
|
10000, 0},
|
||||||
{"Media summary:", 3, "Media summary:", "", 4, { 0, 2, 5, 7, -1, -1},
|
{"Format idx :", 3, "Format idx ", ",: ", 4, { 0, 1, 2, 3, -1, -1},
|
||||||
2, 0},
|
100, 1},
|
||||||
{"Media nwa :", 3, "Media nwa :", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Format status:", 3, "Format status:", ", ", 2, { 0, 1, -1, -1, -1, -1},
|
||||||
1, 0},
|
1, 1},
|
||||||
{"Volume id :", 3, "Volume id :", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
2, 0},
|
|
||||||
{"ISO session :", 3, "ISO session :", "", 4, { 0, 2, 4, 6, -1, -1},
|
{"ISO session :", 3, "ISO session :", "", 4, { 0, 2, 4, 6, -1, -1},
|
||||||
10000, 1},
|
10000, 1},
|
||||||
{"Image size :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Image size :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 0},
|
1, 0},
|
||||||
|
{"Jigdo files :", 3, "Jigdo files :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"Local ACL :", 3, "Local ACL :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"Local xattr :", 3, "Local xattr :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"MD5 MISMATCH:", 3, "MD5 MISMATCH:", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
10000, 0},
|
||||||
|
{"MD5 tag range:", 3, "MD5 tag range:", "", 3, { 0, 2, 4, -1, -1, -1},
|
||||||
|
10000, 1},
|
||||||
|
{"Media blocks :", 3, "Media blocks :", "", 3, { 0, 3, 6, -1, -1, -1},
|
||||||
|
2, 0},
|
||||||
|
{"Media current:", 3, "Media current: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
2, 1},
|
||||||
|
{"Media nwa :", 3, "Media nwa :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"Media product:", 3, "Media product:", "", 2, { 0, 2, -1, -1, -1, -1},
|
||||||
|
2, 1},
|
||||||
|
{"Media region :", 3, "Media region :", "", 3, { 0, 2, 4, -1, -1, -1},
|
||||||
|
10000, 1},
|
||||||
{"Media space :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Media space :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 0},
|
1, 0},
|
||||||
{"After commit :", 3, "Image size :", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Media status :", 3, "Media status : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 0},
|
2, 1},
|
||||||
|
{"Media summary:", 3, "Media summary:", "", 4, { 0, 2, 5, 7, -1, -1},
|
||||||
|
2, 0},
|
||||||
{"PVD address :", 3, "PVD address :", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"PVD address :", 3, "PVD address :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 0},
|
1, 0},
|
||||||
|
{"Preparer Id :", 3, "Preparer Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"Profile :", 3, "Profile :", "", 2, { 0, 1, -1, -1, -1, -1},
|
||||||
|
256, 1},
|
||||||
|
{"Publisher Id :", 3, "Publisher Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"Readline :", 3, "Readline :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"Size lower :", 3, "Size lower :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"Size upper :", 3, "Size upper :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 0},
|
||||||
|
{"System Id :", 3, "System Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
|
1, 1},
|
||||||
|
{"Version timestamp :", 3, "Version timestamp :", "", 1,
|
||||||
|
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
||||||
{"Volume Id :", 3, "Volume Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Volume Id :", 3, "Volume Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 1},
|
1, 1},
|
||||||
{"Volume Set Id:", 3, "Volume Set Id: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Volume Set Id:", 3, "Volume Set Id: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 1},
|
1, 1},
|
||||||
{"Publisher Id :", 3, "Publisher Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
{"Volume id :", 3, "Volume id :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
1, 1},
|
2, 0},
|
||||||
{"Preparer Id :", 3, "Preparer Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"App Id :", 3, "App Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"System Id :", 3, "System Id : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"CopyrightFile:", 3, "CopyrightFile: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"Abstract File:", 3, "Abstract File: ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"Biblio File :", 3, "Biblio File : ", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"Write speed :", 3, "Write speed :", "", 2, { 0, 2, -1, -1, -1, -1},
|
{"Write speed :", 3, "Write speed :", "", 2, { 0, 2, -1, -1, -1, -1},
|
||||||
100, 0},
|
100, 0},
|
||||||
{"Write speed H:", 3, "Write speed H:", "", 2, { 0, 2, -1, -1, -1, -1},
|
{"Write speed H:", 3, "Write speed H:", "", 2, { 0, 2, -1, -1, -1, -1},
|
||||||
@ -1748,75 +1814,23 @@ int Xorriso_sieve_big(struct XorrisO *xorriso, int flag)
|
|||||||
1, 0},
|
1, 0},
|
||||||
{"Write speed l:", 3, "Write speed l:", "", 2, { 0, 2, -1, -1, -1, -1},
|
{"Write speed l:", 3, "Write speed l:", "", 2, { 0, 2, -1, -1, -1, -1},
|
||||||
1, 0},
|
1, 0},
|
||||||
{"Format status:", 3, "Format status:", ", ", 2, { 0, 1, -1, -1, -1, -1},
|
{"libburn in use :", 3, "libburn in use :", "", 2,
|
||||||
1, 1},
|
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
||||||
{"Format idx :", 3, "Format idx ", ",: ", 4, { 0, 1, 2, 3, -1, -1},
|
{"libburn OS adapter:", 3, "libburn OS adapter: ", "", 1,
|
||||||
100, 1},
|
|
||||||
{"Profile :", 3, "Profile :", "", 2, { 0, 1, -1, -1, -1, -1},
|
|
||||||
256, 1},
|
|
||||||
{"-changes_pending", 3, "-changes_pending ", "", 1,
|
|
||||||
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
|
||||||
{"Media region :", 3, "Media region :", "", 3, { 0, 2, 4, -1, -1, -1},
|
|
||||||
10000, 1},
|
|
||||||
{"MD5 tag range:", 3, "MD5 tag range:", "", 3, { 0, 2, 4, -1, -1, -1},
|
|
||||||
10000, 1},
|
|
||||||
{"Local ACL :", 3, "Local ACL :", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"Local xattr :", 3, "Local xattr :", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"Jigdo files :", 3, "Jigdo files :", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"zisofs :", 3, "zisofs :", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"Ext. filters :", 3, "Ext. filters : ", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 1},
|
|
||||||
{"DVD obs 64 kB:", 3, "DVD obs 64 kB:", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"Readline :", 3, "Readline :", ", ", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"xorriso version :", 3, "xorriso version :", ", ", 1,
|
|
||||||
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
|
||||||
{"Version timestamp :", 3, "Version timestamp :", ", ", 1,
|
|
||||||
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
|
||||||
{"Build timestamp :", 3, "Build timestamp : ", ", ", 1,
|
|
||||||
{ 0, -1, -1, -1, -1, -1}, 1, 1},
|
{ 0, -1, -1, -1, -1, -1}, 1, 1},
|
||||||
{"libisofs in use :", 3, "libisofs in use :", ", ", 2,
|
{"libisoburn in use :", 3, "libisoburn in use :", "", 2,
|
||||||
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
||||||
{"libjte in use :", 3, "libjte in use :", ", ", 2,
|
{"libisofs in use :", 3, "libisofs in use :", "", 2,
|
||||||
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
||||||
{"libburn in use :", 3, "libburn in use :", ", ", 2,
|
{"libjte in use :", 3, "libjte in use :", "", 2,
|
||||||
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
||||||
{"libburn OS adapter:", 3, "libburn OS adapter: ", ", ", 1,
|
{"xorriso version :", 3, "xorriso version :", "", 1,
|
||||||
{ 0, -1, -1, -1, -1, -1}, 1, 1},
|
{ 0, -1, -1, -1, -1, -1}, 1, 0},
|
||||||
{"libisoburn in use :", 3, "libisoburn in use :", ", ", 2,
|
{"zisofs :", 3, "zisofs :", "", 1, { 0, -1, -1, -1, -1, -1},
|
||||||
{ 0, 1, -1, -1, -1, -1}, 1, 1},
|
|
||||||
{"File damaged :", 3, "File damaged :", "", 4, { 0, 2, 4, 6, -1, -1},
|
|
||||||
10000, 0},
|
|
||||||
{"File data lba:", 3, "File data lba:", "", 5, { 0, 2, 4, 6, 8, -1},
|
|
||||||
10000, 0},
|
|
||||||
{"MD5 MISMATCH:", 3, "MD5 MISMATCH:", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
10000, 0},
|
|
||||||
{"Size lower :", 3, "Size lower :", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
|
||||||
{"Size upper :", 3, "Size upper :", "", 1, { 0, -1, -1, -1, -1, -1},
|
|
||||||
1, 0},
|
1, 0},
|
||||||
{"@", 0, "@", "", 0, {-1, -1, -1, -1, -1, -1}, 0, 0}
|
{"@", 0, "@", "", 0, {-1, -1, -1, -1, -1, -1}, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* >>> Problem cases:
|
|
||||||
|
|
||||||
-devices -device_links
|
|
||||||
have no well recognizable prefix
|
|
||||||
|
|
||||||
-pwd -pwdx
|
|
||||||
have a headline and a value line
|
|
||||||
-> outlist stack
|
|
||||||
|
|
||||||
-ls* , -getfacl* , -getfattr* , -du* , -compare* , -show_stream*
|
|
||||||
have no well recognizable prefix
|
|
||||||
-> outlist stack
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct Xorriso_sieve_big_filteR *f;
|
struct Xorriso_sieve_big_filteR *f;
|
||||||
int ret, i, num_filters= 1000;
|
int ret, i, num_filters= 1000;
|
||||||
|
|
||||||
@ -1848,12 +1862,12 @@ failure:
|
|||||||
*/
|
*/
|
||||||
int Xorriso_sieve_filter_msg(struct XorrisO *xorriso, char *msg, int flag)
|
int Xorriso_sieve_filter_msg(struct XorrisO *xorriso, char *msg, int flag)
|
||||||
{
|
{
|
||||||
int channel, ret, argc= 0, i, max_words, l, widx;
|
int channel, ret, argc= 0, i, max_words, l, widx, skip;
|
||||||
char **argv= NULL;
|
char **argv= NULL, *prefix_storage= NULL, *prefix, *cpt, *to_parse= NULL;
|
||||||
struct Xorriso_msg_filteR *f;
|
struct Xorriso_msg_filteR *f;
|
||||||
struct Xorriso_lsT *lst, *prev_lst, *next_lst;
|
struct Xorriso_lsT *lst, *prev_lst, *next_lst;
|
||||||
|
|
||||||
if(xorriso->msg_sieve == NULL)
|
if(xorriso->msg_sieve == NULL || xorriso->msg_sieve_disabled)
|
||||||
return(1);
|
return(1);
|
||||||
|
|
||||||
channel= flag & 3;
|
channel= flag & 3;
|
||||||
@ -1861,9 +1875,37 @@ int Xorriso_sieve_filter_msg(struct XorrisO *xorriso, char *msg, int flag)
|
|||||||
for(f= xorriso->msg_sieve->first_filter; f != NULL; f= f->next) {
|
for(f= xorriso->msg_sieve->first_filter; f != NULL; f= f->next) {
|
||||||
if(!(f->channels & (1 << channel)))
|
if(!(f->channels & (1 << channel)))
|
||||||
continue;
|
continue;
|
||||||
if(f->prefix[0])
|
prefix= f->prefix;
|
||||||
if(strncmp(f->prefix, msg, strlen(f->prefix)) != 0)
|
|
||||||
|
if(prefix[0] == '?') {
|
||||||
|
skip= 0;
|
||||||
|
for(cpt= prefix; *cpt; cpt++)
|
||||||
|
if(*cpt == '?')
|
||||||
|
skip++;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
l= strlen(prefix);
|
||||||
|
if(strlen(msg) >= (unsigned int) l) {
|
||||||
|
if(l - skip == 0 || strncmp(prefix + skip, msg + skip, l - skip) == 0) {
|
||||||
|
Xorriso_alloc_meM(prefix_storage, char, l + 1);
|
||||||
|
strncpy(prefix_storage, msg, l);
|
||||||
|
prefix_storage[l]= 0;
|
||||||
|
prefix= prefix_storage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(prefix[0])
|
||||||
|
if(strncmp(prefix, msg, strlen(prefix)) != 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
to_parse= strdup(msg);
|
||||||
|
if(to_parse == NULL)
|
||||||
|
goto no_mem;
|
||||||
|
l= strlen(to_parse);
|
||||||
|
if(l > 0)
|
||||||
|
if(to_parse[l - 1] == '\n')
|
||||||
|
to_parse[l - 1]= 0;
|
||||||
|
|
||||||
max_words= 0;
|
max_words= 0;
|
||||||
if(f->last_word_line_end)
|
if(f->last_word_line_end)
|
||||||
if(f->num_words > 0) /* Let last word take rest of line */
|
if(f->num_words > 0) /* Let last word take rest of line */
|
||||||
@ -1878,20 +1920,20 @@ int Xorriso_sieve_filter_msg(struct XorrisO *xorriso, char *msg, int flag)
|
|||||||
if(argv == NULL)
|
if(argv == NULL)
|
||||||
goto no_mem;
|
goto no_mem;
|
||||||
argc= 1;
|
argc= 1;
|
||||||
argv[0]= strdup(msg + strlen(f->prefix));
|
argv[0]= strdup(to_parse + strlen(prefix));
|
||||||
if(argv[0] == NULL)
|
if(argv[0] == NULL)
|
||||||
goto no_mem;
|
goto no_mem;
|
||||||
ret= 1;
|
ret= 1;
|
||||||
} else {
|
} else {
|
||||||
ret= Xorriso_parse_line(xorriso, msg, f->prefix, f->separators, max_words,
|
ret= Xorriso_parse_line(xorriso, to_parse, prefix, f->separators,
|
||||||
&argc, &argv, 0);
|
max_words, &argc, &argv, 0);
|
||||||
}
|
}
|
||||||
if(ret < 0)
|
if(ret < 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
if(ret == 0)
|
if(ret == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(f->last_word_line_end) {
|
if(f->last_word_line_end && argc > max_words) {
|
||||||
l= strlen(argv[max_words]);
|
l= strlen(argv[max_words]);
|
||||||
if(l > 0)
|
if(l > 0)
|
||||||
if(argv[max_words][l - 1] == '\n')
|
if(argv[max_words][l - 1] == '\n')
|
||||||
@ -1935,10 +1977,15 @@ int Xorriso_sieve_filter_msg(struct XorrisO *xorriso, char *msg, int flag)
|
|||||||
prev_lst= lst;
|
prev_lst= lst;
|
||||||
}
|
}
|
||||||
(f->num_results)++;
|
(f->num_results)++;
|
||||||
|
Xorriso_free_meM(prefix_storage);
|
||||||
|
prefix_storage= NULL;
|
||||||
Xorriso__dispose_words(&argc, &argv);
|
Xorriso__dispose_words(&argc, &argv);
|
||||||
}
|
}
|
||||||
ret= 1;
|
ret= 1;
|
||||||
ex:
|
ex:
|
||||||
|
if(to_parse != NULL)
|
||||||
|
free(to_parse);
|
||||||
|
Xorriso_free_meM(prefix_storage);
|
||||||
Xorriso__dispose_words(&argc, &argv);
|
Xorriso__dispose_words(&argc, &argv);
|
||||||
return(ret);
|
return(ret);
|
||||||
no_mem:;
|
no_mem:;
|
||||||
|
@ -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.2.5, Nov 05, 2012"
|
.TH XORRISO 1 "Version 1.2.5, Dec 08, 2012"
|
||||||
.\" 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:
|
||||||
@ -4465,6 +4465,83 @@ If text is not empty it will get put out on "M" channel each time
|
|||||||
\fBxorriso\fR is ready for the next dialog line or before
|
\fBxorriso\fR is ready for the next dialog line or before
|
||||||
\fBxorriso\fR performs a command that was entered to the pager prompt.
|
\fBxorriso\fR performs a command that was entered to the pager prompt.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-msg_op\fR opcode parameter_text
|
||||||
|
This command shall facilitate extraction of particular information from
|
||||||
|
the message output of other commands. It gives access to the C API function
|
||||||
|
Xorriso_parse_line and to the message sieve that is provided by the C API.
|
||||||
|
Please refer to their description in file xorriso.h.
|
||||||
|
.br
|
||||||
|
Intended users are frontend programs which operate xorriso in dialog mode.
|
||||||
|
.br
|
||||||
|
The result output of this command is not caught by the message sieve.
|
||||||
|
.br
|
||||||
|
The following opcodes are defined:
|
||||||
|
.br
|
||||||
|
\fBstart_sieve\fR
|
||||||
|
.br
|
||||||
|
Install the message sieve as of Xorriso_sieve_big() and start watching
|
||||||
|
program messages. The parameter_text has no meaning.
|
||||||
|
.br
|
||||||
|
\fBshow_sieve\fR
|
||||||
|
.br
|
||||||
|
Show a list of filter rule names. The parameter_text has no meaning.
|
||||||
|
The list begins by a line with the return value of Xorriso_sieve_get_result()
|
||||||
|
with flag bit3. If this value is larger than 0, then the next line tells
|
||||||
|
the number of names. The following lines show one name each.
|
||||||
|
.br
|
||||||
|
\fBread_sieve\fR
|
||||||
|
.br
|
||||||
|
Use the parameter_text as name of a filter rule and inquire its next
|
||||||
|
recorded result.
|
||||||
|
See Xorriso_sieve_big() for a list of names and reply strings.
|
||||||
|
.br
|
||||||
|
The recorded strings are put out on result channel. They get wrapped
|
||||||
|
into lines which tell their structure.
|
||||||
|
The first line tells the return value of Xorriso_sieve_get_result().
|
||||||
|
The next line tells the number of strings. Each string begins by a line that
|
||||||
|
tells the number of lines of the string. Then follow these lines. They are to
|
||||||
|
be concatenated with a newline character inbetween each of them.
|
||||||
|
Finally the number of still available recorded results of the given name
|
||||||
|
is put out.
|
||||||
|
.br
|
||||||
|
\fBclear_sieve\fR
|
||||||
|
.br
|
||||||
|
Dispose all recorded strings and continue watching program messages.
|
||||||
|
The parameter_text has no meaning.
|
||||||
|
.br
|
||||||
|
\fBend_sieve\fR
|
||||||
|
.br
|
||||||
|
Dispose the sieve with its filter rules and stop watching program messages.
|
||||||
|
The parameter_text has no meaning.
|
||||||
|
.br
|
||||||
|
\fBparse\fR
|
||||||
|
.br
|
||||||
|
Read a text from dialog input and submit it to Xorriso_parse_line().
|
||||||
|
The parameter_text word shall consist of several words separated by blanks.
|
||||||
|
It will be necessary to use both kinds of quotation marks.
|
||||||
|
.br
|
||||||
|
E.g. "'ISO session :' '' 0 0 1"
|
||||||
|
.br
|
||||||
|
The five parameter words are: prefix, separators, max_words, flag,
|
||||||
|
number_of_input_lines.
|
||||||
|
The former four are handed over to Xorriso_parse_line(). The number of
|
||||||
|
input lines minus one tells xorriso how many newline characters are
|
||||||
|
part of the input text.
|
||||||
|
.br
|
||||||
|
The announced number of text lines will be read from dialog input,
|
||||||
|
concatenated with a newline character inbetween each of them,
|
||||||
|
and submitted to Xorriso_parse_line() as parameter line.
|
||||||
|
Note that newlines outside of quotation marks are
|
||||||
|
interpreted as separators if the separators parameter is empty.
|
||||||
|
.br
|
||||||
|
The parsed strings are put out on result channel. They get wrapped
|
||||||
|
into lines which tell their structure.
|
||||||
|
The first line tells the return value of Xorriso_parse_line().
|
||||||
|
The next line tells the number of strings. Each string begins by a line that
|
||||||
|
tells the number of lines of the string. Then follow these lines. They are to
|
||||||
|
be concatenated with a newline character inbetween each of them.
|
||||||
|
.br
|
||||||
|
.TP
|
||||||
\fB\-prog\fR text
|
\fB\-prog\fR text
|
||||||
Use text as name of this program in subsequent messages
|
Use text as name of this program in subsequent messages
|
||||||
.TP
|
.TP
|
||||||
|
@ -665,6 +665,11 @@ int Xorriso_process_errfile(struct XorrisO *xorriso,
|
|||||||
bit2= mark channel
|
bit2= mark channel
|
||||||
@param prefix The line start to watch for. Will also be handed over
|
@param prefix The line start to watch for. Will also be handed over
|
||||||
to Xorriso_parse_line(). Empty text matches all lines.
|
to Xorriso_parse_line(). Empty text matches all lines.
|
||||||
|
If the prefix begins by '?' characters, then these
|
||||||
|
match any character at the beginning of a message.
|
||||||
|
The prefix of the filter rule will then be adapted
|
||||||
|
to really match the line, before it gets handed over
|
||||||
|
to Xorriso_parse_line().
|
||||||
@param separators List of separator characters for Xorriso_parse_line()
|
@param separators List of separator characters for Xorriso_parse_line()
|
||||||
@param num_words Number of word indice in word_idx
|
@param num_words Number of word indice in word_idx
|
||||||
@param word_idx Array with the argv indice to be picked from the
|
@param word_idx Array with the argv indice to be picked from the
|
||||||
@ -702,9 +707,12 @@ int Xorriso_sieve_add_filter(struct XorrisO *xorriso, char *name,
|
|||||||
Do not allocate memory.
|
Do not allocate memory.
|
||||||
bit2= If *argv is not NULL, then free it before attaching
|
bit2= If *argv is not NULL, then free it before attaching
|
||||||
new memory.
|
new memory.
|
||||||
@return <0 error: -1 = memor shortage
|
bit3= Do not read recorded data but rather list all
|
||||||
|
filter names.
|
||||||
|
@return <0 error: -1 = memory shortage
|
||||||
-2 = no filter rule found
|
-2 = no filter rule found
|
||||||
0 no more data available for the given name
|
0 No more data available for the given name
|
||||||
|
With bit3: No filter rules installed.
|
||||||
>0 argc and argv are valid
|
>0 argc and argv are valid
|
||||||
*/
|
*/
|
||||||
int Xorriso_sieve_get_result(struct XorrisO *xorriso, char *name,
|
int Xorriso_sieve_get_result(struct XorrisO *xorriso, char *name,
|
||||||
@ -748,7 +756,18 @@ int Xorriso_sieve_dispose(struct XorrisO *xorriso, int flag);
|
|||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
"-changes_pending" up to 1 result from -changes_pending show_status
|
"-changes_pending" up to 1 result from -changes_pending show_status
|
||||||
argv[0]= "yes" or "no"
|
argv[0]= "yes" or "no"
|
||||||
(Note: prefix is "-changes_pending ")
|
"? -dev" up to 10 results from -devices or -device_links
|
||||||
|
(records drives with single digit index number)
|
||||||
|
argv[0]= drive address
|
||||||
|
argv[1]= permissions
|
||||||
|
argv[2]= drive vendor
|
||||||
|
argv[3]= product id
|
||||||
|
"?? -dev" up to 90 results from -devices or -device_links
|
||||||
|
(records drives with double digit index number)
|
||||||
|
argv[0]= drive address
|
||||||
|
argv[1]= permissions
|
||||||
|
argv[2]= drive vendor
|
||||||
|
argv[3]= product id
|
||||||
"Abstract File:" up to 1 result from -pvd_info
|
"Abstract File:" up to 1 result from -pvd_info
|
||||||
argv[0]= file name
|
argv[0]= file name
|
||||||
(Note: prefix is "Abstract File: ")
|
(Note: prefix is "Abstract File: ")
|
||||||
@ -799,13 +818,13 @@ int Xorriso_sieve_dispose(struct XorrisO *xorriso, int flag);
|
|||||||
"Format status:" up to 1 result from -list_formats
|
"Format status:" up to 1 result from -list_formats
|
||||||
argv[0]= status
|
argv[0]= status
|
||||||
argv[1]= capacity
|
argv[1]= capacity
|
||||||
"Image size :" up to 1 result from -print_size
|
|
||||||
argv[0]= number of blocks with "s" appended
|
|
||||||
"ISO session :" up to 10000 results from -toc
|
"ISO session :" up to 10000 results from -toc
|
||||||
argv[0]= Idx
|
argv[0]= Idx
|
||||||
argv[1]= sbsector
|
argv[1]= sbsector
|
||||||
argv[2]= Size
|
argv[2]= Size
|
||||||
argv[3]= Volume Id
|
argv[3]= Volume Id
|
||||||
|
"Image size :" up to 1 result from -print_size
|
||||||
|
argv[0]= number of blocks with "s" appended
|
||||||
"Jigdo files :" up to 1 result from -list_extras
|
"Jigdo files :" up to 1 result from -list_extras
|
||||||
argv[0]= "yes" or "no"
|
argv[0]= "yes" or "no"
|
||||||
"Local ACL :" up to 1 result from -list_extras
|
"Local ACL :" up to 1 result from -list_extras
|
||||||
@ -827,6 +846,9 @@ int Xorriso_sieve_dispose(struct XorrisO *xorriso, int flag);
|
|||||||
(Note: prefix is "Media current: " which eats extra blank)
|
(Note: prefix is "Media current: " which eats extra blank)
|
||||||
"Media nwa :" up to 1 result from -toc
|
"Media nwa :" up to 1 result from -toc
|
||||||
argv[0]= next writable address
|
argv[0]= next writable address
|
||||||
|
"Media product:" up to 2 results from -toc
|
||||||
|
argv[0]= product id
|
||||||
|
argv[1]= manufacturer
|
||||||
"Media region :" up to 10000 results from -check_media
|
"Media region :" up to 10000 results from -check_media
|
||||||
argv[0]= lba
|
argv[0]= lba
|
||||||
argv[1]= size in blocks
|
argv[1]= size in blocks
|
||||||
@ -1589,6 +1611,10 @@ int Xorriso_option_mount(struct XorrisO *xorriso, char *dev, char *adr_mode,
|
|||||||
/* Command -mount_opts option[:...] */
|
/* Command -mount_opts option[:...] */
|
||||||
int Xorriso_option_mount_opts(struct XorrisO *xorriso, char *mode, int flag);
|
int Xorriso_option_mount_opts(struct XorrisO *xorriso, char *mode, int flag);
|
||||||
|
|
||||||
|
/* Command -msg_op */
|
||||||
|
int Xorriso_option_msg_op(struct XorrisO *xorriso, char *what, char *arg,
|
||||||
|
int flag);
|
||||||
|
|
||||||
/* Command -mv alias -mvi */
|
/* Command -mv alias -mvi */
|
||||||
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
int Xorriso_option_mvi(struct XorrisO *xorriso, int argc, char **argv,
|
||||||
int *idx, int flag);
|
int *idx, int flag);
|
||||||
|
@ -3920,6 +3920,65 @@ File: xorriso.info, Node: Frontend, Next: ExDevices, Prev: Scripting, Up: Co
|
|||||||
`xorriso' is ready for the next dialog line or before `xorriso'
|
`xorriso' is ready for the next dialog line or before `xorriso'
|
||||||
performs a command that was entered to the pager prompt.
|
performs a command that was entered to the pager prompt.
|
||||||
|
|
||||||
|
-msg_op opcode parameter_text
|
||||||
|
This command shall facilitate extraction of particular information
|
||||||
|
from the message output of other commands. It gives access to the
|
||||||
|
C API function Xorriso_parse_line and to the message sieve that is
|
||||||
|
provided by the C API. Please refer to their description in file
|
||||||
|
xorriso.h.
|
||||||
|
Intended users are frontend programs which operate xorriso in
|
||||||
|
dialog mode.
|
||||||
|
The result output of this command is not caught by the message
|
||||||
|
sieve.
|
||||||
|
The following opcodes are defined:
|
||||||
|
*start_sieve*
|
||||||
|
Install the message sieve as of Xorriso_sieve_big() and start
|
||||||
|
watching program messages. The parameter_text has no meaning.
|
||||||
|
*show_sieve*
|
||||||
|
Show a list of filter rule names. The parameter_text has no
|
||||||
|
meaning. The list begins by a line with the return value of
|
||||||
|
Xorriso_sieve_get_result() with flag bit3. If this value is larger
|
||||||
|
than 0, then the next line tells the number of names. The
|
||||||
|
following lines show one name each.
|
||||||
|
*read_sieve*
|
||||||
|
Use the parameter_text as name of a filter rule and inquire its
|
||||||
|
next recorded result. See Xorriso_sieve_big() for a list of names
|
||||||
|
and reply strings.
|
||||||
|
The recorded strings are put out on result channel. They get
|
||||||
|
wrapped into lines which tell their structure. The first line
|
||||||
|
tells the return value of Xorriso_sieve_get_result(). The next
|
||||||
|
line tells the number of strings. Each string begins by a line that
|
||||||
|
tells the number of lines of the string. Then follow these lines.
|
||||||
|
They are to be concatenated with a newline character inbetween
|
||||||
|
each of them. Finally the number of still available recorded
|
||||||
|
results of the given name is put out.
|
||||||
|
*clear_sieve*
|
||||||
|
Dispose all recorded strings and continue watching program
|
||||||
|
messages. The parameter_text has no meaning.
|
||||||
|
*end_sieve*
|
||||||
|
Dispose the sieve with its filter rules and stop watching program
|
||||||
|
messages. The parameter_text has no meaning.
|
||||||
|
*parse*
|
||||||
|
Read a text from dialog input and submit it to
|
||||||
|
Xorriso_parse_line(). The parameter_text word shall consist of
|
||||||
|
several words separated by blanks. It will be necessary to use
|
||||||
|
both kinds of quotation marks.
|
||||||
|
E.g. "'ISO session :' " 0 0 1"
|
||||||
|
The five parameter words are: prefix, separators, max_words, flag,
|
||||||
|
number_of_input_lines. The former four are handed over to
|
||||||
|
Xorriso_parse_line(). The number of input lines minus one tells
|
||||||
|
xorriso how many newline characters are part of the input text.
|
||||||
|
The announced number of text lines will be read from dialog input,
|
||||||
|
concatenated with a newline character inbetween each of them, and
|
||||||
|
submitted to Xorriso_parse_line() as parameter line. Note that
|
||||||
|
newlines outside of quotation marks are interpreted as separators
|
||||||
|
if the separators parameter is empty.
|
||||||
|
The parsed strings are put out on result channel. They get wrapped
|
||||||
|
into lines which tell their structure. The first line tells the
|
||||||
|
return value of Xorriso_parse_line(). The next line tells the
|
||||||
|
number of strings. Each string begins by a line that tells the
|
||||||
|
number of lines of the string. Then follow these lines. They are to
|
||||||
|
be concatenated with a newline character inbetween each of them.
|
||||||
-prog text
|
-prog text
|
||||||
Use text as name of this program in subsequent messages
|
Use text as name of this program in subsequent messages
|
||||||
|
|
||||||
@ -4658,6 +4717,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -mount issues mount command for ISO session: Restore. (line 126)
|
* -mount issues mount command for ISO session: Restore. (line 126)
|
||||||
* -mount_cmd composes mount command line: Inquiry. (line 41)
|
* -mount_cmd composes mount command line: Inquiry. (line 41)
|
||||||
* -mount_cmd controls mount command: Inquiry. (line 57)
|
* -mount_cmd controls mount command: Inquiry. (line 57)
|
||||||
|
* -msg_op perform operations on program messages: Frontend. (line 30)
|
||||||
* -mv renames file in ISO image: Manip. (line 35)
|
* -mv renames file in ISO image: Manip. (line 35)
|
||||||
* -no_rc disables startup files: Scripting. (line 7)
|
* -no_rc disables startup files: Scripting. (line 7)
|
||||||
* -not_leaf sets exclusion pattern: SetInsert. (line 62)
|
* -not_leaf sets exclusion pattern: SetInsert. (line 62)
|
||||||
@ -4681,8 +4741,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
|||||||
* -print_info prints message text line: Scripting. (line 102)
|
* -print_info prints message text line: Scripting. (line 102)
|
||||||
* -print_mark prints synchronizing text line: Scripting. (line 105)
|
* -print_mark prints synchronizing text line: Scripting. (line 105)
|
||||||
* -print_size predicts image size: Inquiry. (line 80)
|
* -print_size predicts image size: Inquiry. (line 80)
|
||||||
* -prog sets program name: Frontend. (line 30)
|
* -prog sets program name: Frontend. (line 89)
|
||||||
* -prog_help prints help text: Frontend. (line 33)
|
* -prog_help prints help text: Frontend. (line 92)
|
||||||
* -prompt prompts for enter key: Scripting. (line 110)
|
* -prompt prompts for enter key: Scripting. (line 110)
|
||||||
* -publisher sets publisher id: SetWrite. (line 186)
|
* -publisher sets publisher id: SetWrite. (line 186)
|
||||||
* -pvd_info shows image id strings: Inquiry. (line 93)
|
* -pvd_info shows image id strings: Inquiry. (line 93)
|
||||||
@ -4944,13 +5004,14 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Process, log output channels to file, -logfile: Frontend. (line 20)
|
* Process, log output channels to file, -logfile: Frontend. (line 20)
|
||||||
* Process, read command file, -options_from_file: Scripting. (line 12)
|
* Process, read command file, -options_from_file: Scripting. (line 12)
|
||||||
* Process, set synchronizing message, -mark: Frontend. (line 25)
|
* Process, set synchronizing message, -mark: Frontend. (line 25)
|
||||||
|
* Program messages, perform operations, -msg_op: Frontend. (line 30)
|
||||||
* Program, backslash conversion, -backslash_codes: Scripting. (line 67)
|
* Program, backslash conversion, -backslash_codes: Scripting. (line 67)
|
||||||
* Program, curb memory, -temp_mem_limit: Scripting. (line 92)
|
* Program, curb memory, -temp_mem_limit: Scripting. (line 92)
|
||||||
* Program, end and write, -end: Scripting. (line 156)
|
* Program, end and write, -end: Scripting. (line 156)
|
||||||
* Program, end without writing, -rollback_end: Scripting. (line 159)
|
* Program, end without writing, -rollback_end: Scripting. (line 159)
|
||||||
* Program, list extra features, -list_extras: Scripting. (line 26)
|
* Program, list extra features, -list_extras: Scripting. (line 26)
|
||||||
* Program, print help text, -help: Scripting. (line 20)
|
* Program, print help text, -help: Scripting. (line 20)
|
||||||
* Program, print help text, -prog_help: Frontend. (line 33)
|
* Program, print help text, -prog_help: Frontend. (line 92)
|
||||||
* Program, print message text line, -print_info: Scripting. (line 102)
|
* Program, print message text line, -print_info: Scripting. (line 102)
|
||||||
* Program, print result text line, -print: Scripting. (line 99)
|
* Program, print result text line, -print: Scripting. (line 99)
|
||||||
* Program, print synchronizing text line, -print_mark: Scripting.
|
* Program, print synchronizing text line, -print_mark: Scripting.
|
||||||
@ -4958,7 +5019,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
|||||||
* Program, print version, -version: Scripting. (line 23)
|
* Program, print version, -version: Scripting. (line 23)
|
||||||
* Program, prompt for enter key, -prompt: Scripting. (line 110)
|
* Program, prompt for enter key, -prompt: Scripting. (line 110)
|
||||||
* Program, replace --, -list_delimiter: Scripting. (line 60)
|
* Program, replace --, -list_delimiter: Scripting. (line 60)
|
||||||
* Program, set name, -prog: Frontend. (line 30)
|
* Program, set name, -prog: Frontend. (line 89)
|
||||||
* Program, show current settings, -status: Scripting. (line 47)
|
* Program, show current settings, -status: Scripting. (line 47)
|
||||||
* Program, status history, -status_history_max: Scripting. (line 56)
|
* Program, status history, -status_history_max: Scripting. (line 56)
|
||||||
* Program, wait a time span, -sleep: Scripting. (line 114)
|
* Program, wait a time span, -sleep: Scripting. (line 114)
|
||||||
@ -5064,28 +5125,28 @@ Node: Restore174189
|
|||||||
Node: Emulation181099
|
Node: Emulation181099
|
||||||
Node: Scripting190911
|
Node: Scripting190911
|
||||||
Node: Frontend198072
|
Node: Frontend198072
|
||||||
Node: Examples199373
|
Node: Examples202666
|
||||||
Node: ExDevices200551
|
Node: ExDevices203844
|
||||||
Node: ExCreate201210
|
Node: ExCreate204503
|
||||||
Node: ExDialog202495
|
Node: ExDialog205788
|
||||||
Node: ExGrowing203760
|
Node: ExGrowing207053
|
||||||
Node: ExModifying204565
|
Node: ExModifying207858
|
||||||
Node: ExBootable205069
|
Node: ExBootable208362
|
||||||
Node: ExCharset205621
|
Node: ExCharset208914
|
||||||
Node: ExPseudo206442
|
Node: ExPseudo209735
|
||||||
Node: ExCdrecord207340
|
Node: ExCdrecord210633
|
||||||
Node: ExMkisofs207657
|
Node: ExMkisofs210950
|
||||||
Node: ExGrowisofs208997
|
Node: ExGrowisofs212290
|
||||||
Node: ExException210132
|
Node: ExException213425
|
||||||
Node: ExTime210586
|
Node: ExTime213879
|
||||||
Node: ExIncBackup211045
|
Node: ExIncBackup214338
|
||||||
Node: ExRestore215037
|
Node: ExRestore218330
|
||||||
Node: ExRecovery215997
|
Node: ExRecovery219290
|
||||||
Node: Files216567
|
Node: Files219860
|
||||||
Node: Seealso217866
|
Node: Seealso221159
|
||||||
Node: Bugreport218589
|
Node: Bugreport221882
|
||||||
Node: Legal219170
|
Node: Legal222463
|
||||||
Node: CommandIdx220181
|
Node: CommandIdx223474
|
||||||
Node: ConceptIdx236126
|
Node: ConceptIdx239492
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
@ -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.2.5, Nov 05, 2012"
|
@c man .TH XORRISO 1 "Version 1.2.5, Dec 08, 2012"
|
||||||
@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:
|
||||||
@ -5248,6 +5248,85 @@ If text is not empty it will get put out on "M" channel each time
|
|||||||
@command{xorriso} is ready for the next dialog line or before
|
@command{xorriso} is ready for the next dialog line or before
|
||||||
@command{xorriso} performs a command that was entered to the pager prompt.
|
@command{xorriso} performs a command that was entered to the pager prompt.
|
||||||
@c man .TP
|
@c man .TP
|
||||||
|
@item -msg_op opcode parameter_text
|
||||||
|
@kindex -msg_op perform operations on program messages
|
||||||
|
@cindex Program messages, perform operations, -msg_op
|
||||||
|
This command shall facilitate extraction of particular information from
|
||||||
|
the message output of other commands. It gives access to the C API function
|
||||||
|
Xorriso_parse_line and to the message sieve that is provided by the C API.
|
||||||
|
Please refer to their description in file xorriso.h.
|
||||||
|
@*
|
||||||
|
Intended users are frontend programs which operate xorriso in dialog mode.
|
||||||
|
@*
|
||||||
|
The result output of this command is not caught by the message sieve.
|
||||||
|
@*
|
||||||
|
The following opcodes are defined:
|
||||||
|
@*
|
||||||
|
@strong{start_sieve}
|
||||||
|
@*
|
||||||
|
Install the message sieve as of Xorriso_sieve_big() and start watching
|
||||||
|
program messages. The parameter_text has no meaning.
|
||||||
|
@*
|
||||||
|
@strong{show_sieve}
|
||||||
|
@*
|
||||||
|
Show a list of filter rule names. The parameter_text has no meaning.
|
||||||
|
The list begins by a line with the return value of Xorriso_sieve_get_result()
|
||||||
|
with flag bit3. If this value is larger than 0, then the next line tells
|
||||||
|
the number of names. The following lines show one name each.
|
||||||
|
@*
|
||||||
|
@strong{read_sieve}
|
||||||
|
@*
|
||||||
|
Use the parameter_text as name of a filter rule and inquire its next
|
||||||
|
recorded result.
|
||||||
|
See Xorriso_sieve_big() for a list of names and reply strings.
|
||||||
|
@*
|
||||||
|
The recorded strings are put out on result channel. They get wrapped
|
||||||
|
into lines which tell their structure.
|
||||||
|
The first line tells the return value of Xorriso_sieve_get_result().
|
||||||
|
The next line tells the number of strings. Each string begins by a line that
|
||||||
|
tells the number of lines of the string. Then follow these lines. They are to
|
||||||
|
be concatenated with a newline character inbetween each of them.
|
||||||
|
Finally the number of still available recorded results of the given name
|
||||||
|
is put out.
|
||||||
|
@*
|
||||||
|
@strong{clear_sieve}
|
||||||
|
@*
|
||||||
|
Dispose all recorded strings and continue watching program messages.
|
||||||
|
The parameter_text has no meaning.
|
||||||
|
@*
|
||||||
|
@strong{end_sieve}
|
||||||
|
@*
|
||||||
|
Dispose the sieve with its filter rules and stop watching program messages.
|
||||||
|
The parameter_text has no meaning.
|
||||||
|
@*
|
||||||
|
@strong{parse}
|
||||||
|
@*
|
||||||
|
Read a text from dialog input and submit it to Xorriso_parse_line().
|
||||||
|
The parameter_text word shall consist of several words separated by blanks.
|
||||||
|
It will be necessary to use both kinds of quotation marks.
|
||||||
|
@*
|
||||||
|
E.g. "'ISO session :' '' 0 0 1"
|
||||||
|
@*
|
||||||
|
The five parameter words are: prefix, separators, max_words, flag,
|
||||||
|
number_of_input_lines.
|
||||||
|
The former four are handed over to Xorriso_parse_line(). The number of
|
||||||
|
input lines minus one tells xorriso how many newline characters are
|
||||||
|
part of the input text.
|
||||||
|
@*
|
||||||
|
The announced number of text lines will be read from dialog input,
|
||||||
|
concatenated with a newline character inbetween each of them,
|
||||||
|
and submitted to Xorriso_parse_line() as parameter line.
|
||||||
|
Note that newlines outside of quotation marks are
|
||||||
|
interpreted as separators if the separators parameter is empty.
|
||||||
|
@*
|
||||||
|
The parsed strings are put out on result channel. They get wrapped
|
||||||
|
into lines which tell their structure.
|
||||||
|
The first line tells the return value of Xorriso_parse_line().
|
||||||
|
The next line tells the number of strings. Each string begins by a line that
|
||||||
|
tells the number of lines of the string. Then follow these lines. They are to
|
||||||
|
be concatenated with a newline character inbetween each of them.
|
||||||
|
@*
|
||||||
|
@c man .TP
|
||||||
@item -prog text
|
@item -prog text
|
||||||
@kindex -prog sets program name
|
@kindex -prog sets program name
|
||||||
@cindex Program, set name, -prog
|
@cindex Program, set name, -prog
|
||||||
|
@ -592,6 +592,7 @@ struct XorrisO { /* the global context of xorriso */
|
|||||||
pthread_mutex_t msgw_fetch_lock;
|
pthread_mutex_t msgw_fetch_lock;
|
||||||
|
|
||||||
struct Xorriso_msg_sievE *msg_sieve;
|
struct Xorriso_msg_sievE *msg_sieve;
|
||||||
|
int msg_sieve_disabled;
|
||||||
|
|
||||||
int status_history_max; /* for -status long_history */
|
int status_history_max; /* for -status long_history */
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2012.12.07.193658"
|
#define Xorriso_timestamP "2012.12.08.175205"
|
||||||
|
Loading…
Reference in New Issue
Block a user