New options -external_filter , -unregister_filter, -set_filter , -set_filter_r

This commit is contained in:
2009-04-02 16:25:33 +00:00
parent 06dfe11e36
commit 6f41c04293
8 changed files with 609 additions and 102 deletions

View File

@ -123,6 +123,8 @@ struct XorrisO { /* the global context of xorriso */
mode_t global_dir_mode;
mode_t global_file_mode;
struct Xorriso_lsT *filters;
int do_overwrite; /* 0=off, 1=on, 2=nondir */
int do_reassure; /* 0=off, 1=on, 2=tree */
@ -576,6 +578,9 @@ int Xorriso_normalize_acl_text(struct XorrisO *xorriso, char *in_text,
int Xorriso_path_setfattr(struct XorrisO *xorriso, void *in_node, char *path,
char *name, size_t value_length, char *value, int flag);
int Xorriso_status_result(struct XorrisO *xorriso, char *filter, FILE *fp,
int flag);
int Sfile_str(char target[SfileadrL], char *source, int flag);
@ -634,6 +639,7 @@ struct Xorriso_lsT {
@param flag Bitfield for control purposes
bit0= insert before link rather than after it
bit1= do not copy data (e.g. because *data is invalid)
bit2= attach data directly by pointer rather than by copying
@return <=0 error, 1 ok
*/
int Xorriso_lst_new_binary(struct Xorriso_lsT **lstring, char *data,
@ -644,8 +650,7 @@ int Xorriso_lst_new_binary(struct Xorriso_lsT **lstring, char *data,
@param lstring The newly created object or NULL on failure
@param text A 0-terminated array of bytes
@param link Xorriso_lsT object to which the new object shall be linked
@param flag Bitfield for control purposes
bit0= insert before link rather than after it
@param flag see Xorriso_lst_new_binary
@return <=0 error, 1 ok
*/
int Xorriso_lst_new(struct Xorriso_lsT **lstring, char *text,
@ -653,12 +658,16 @@ int Xorriso_lst_new(struct Xorriso_lsT **lstring, char *text,
/** Create a new list item at the end of a given list.
@param lstring Contains as input a pointer to a pointer to any existing
list item. As output this list item pointer will be
changed to the address of the new list item.
@param entry Contains as input a pointer to a pointer to any existing
list item. As output this list item pointer may be
changed to the address of the new list item:
if ((*entry == 0) || (flag & 1))
@param data An array of bytes to be copied into the new object
@param data_len Number of bytes to be copied
@param flag unused yet, submit 0
@param flag Bitfield for control purposes
bit0= Return new object address in *entry
bit1= do not copy data (e.g. because *data is invalid)
bit2= attach data directly by pointer rather than by copying
@return <=0 error, 1 ok
*/
int Xorriso_lst_append_binary(struct Xorriso_lsT **entry,
@ -673,6 +682,15 @@ int Xorriso_lst_append_binary(struct Xorriso_lsT **entry,
int Xorriso_lst_destroy(struct Xorriso_lsT **lstring, int flag);
struct Xorriso_lsT *Xorriso_lst_get_next(struct Xorriso_lsT *entry, int flag);
struct Xorriso_lsT *Xorriso_lst_get_prev(struct Xorriso_lsT *entry, int flag);
char *Xorriso_lst_get_text(struct Xorriso_lsT *entry, int flag);
int Xorriso_lst_detach_text(struct Xorriso_lsT *entry, int flag);
char *Text_shellsafe(char *in_text, char *out_text, int flag);
int Sort_argv(int argc, char **argv, int flag);