Improved access permission restauration by osirrox

This commit is contained in:
2008-05-26 18:11:51 +00:00
parent 045c5ab561
commit d3dd065a15
4 changed files with 203 additions and 41 deletions

View File

@ -45,8 +45,9 @@
/* <<< ??? */
typedef int (*Cleanup_app_handler_T)();
struct LinkiteM;
struct ExclusionS;
struct LinkiteM; /* Trace of hops during symbolic link resolution */
struct ExclusionS; /* List of -not_* conditions */
struct PermiteM; /* Stack of temporarily altered access permissions */
/* maximum number of history lines to be reported with -status:long_history */
@ -259,6 +260,8 @@ struct XorrisO { /* the global context of xorriso */
int find_compare_result; /* 1=everything matches , 0=mismatch , -1=error */
struct PermiteM *perm_stack; /* Temporarily altered dir access permissions */
/* result (stdout, R: ) */
char result_line[5*SfileadrL];
int result_line_counter;
@ -530,6 +533,40 @@ int Splitpart__parse(char *name, int *partno, int *total_parts,
int Splitpart__compose(char *adr, int partno, int total_parts,
off_t offset, off_t bytes, off_t total_bytes, int flag);
struct LstrinG {
char *text;
struct LstrinG *prev,*next;
};
int Lstring_destroy(struct LstrinG **lstring, int flag);
int Lstring_destroy_all(struct LstrinG **lstring, int flag);
/*
@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)
*/
int Lstring_new_binary(struct LstrinG **lstring, char *data, int data_len,
struct LstrinG *link, int flag);
/*
@param flag Bitfield for control purposes
bit0= insert before link rather than after it
*/
int Lstring_new(struct LstrinG **lstring, char *text, struct LstrinG *link,
int flag);
int Lstring_append_binary(struct LstrinG **entry, char *data, int data_len,
int flag);
int Permstack_push(struct PermiteM **o, char *disk_path, struct stat *stbuf,
int flag);
int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
struct XorrisO *xorriso, int flag);
#endif /* Xorriso_private_includeD */