135 lines
5.4 KiB
C
135 lines
5.4 KiB
C
|
|
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
|
|
|
Copyright 2007-2024 Thomas Schmitt, <scdbackup@gmx.net>
|
|
|
|
Provided under GPL version 2 or later.
|
|
|
|
This file contains declarations of class DirseQ which
|
|
crawls along a directory's content list.
|
|
*/
|
|
|
|
|
|
#ifndef Xorriso_pvt_diskop_includeD
|
|
#define Xorriso_pvt_diskop_includeD yes
|
|
|
|
|
|
/* @param flag bit0= simple readlink(): no normalization, no multi-hop
|
|
*/
|
|
int Xorriso_resolve_link(struct XorrisO *xorriso,
|
|
char *link_path, char result_path[SfileadrL], int flag);
|
|
|
|
int Xorriso_convert_gidstring(struct XorrisO *xorriso, char *gid_string,
|
|
gid_t *gid, int flag);
|
|
|
|
int Xorriso_convert_modstring(struct XorrisO *xorriso, char *cmd, char *mode,
|
|
mode_t *mode_and, mode_t *mode_or, int flag);
|
|
|
|
int Xorriso_convert_uidstring(struct XorrisO *xorriso, char *uid_string,
|
|
uid_t *uid, int flag);
|
|
|
|
/* @param flag bit0= for Xorriso_msgs_submit: use pager
|
|
*/
|
|
int Xorriso_hop_link(struct XorrisO *xorriso, char *link_path,
|
|
struct LinkiteM **link_stack, struct stat *stbuf, int flag);
|
|
|
|
int Xorriso__mode_to_perms(mode_t st_mode, char perms[11], int flag);
|
|
|
|
int Xorriso_format_ls_l(struct XorrisO *xorriso, struct stat *stbuf, int flag);
|
|
|
|
/* @param flag bit0= long format
|
|
bit1= do not print count of nodes
|
|
bit2= du format
|
|
bit3= print directories as themselves (ls -d)
|
|
*/
|
|
int Xorriso_lsx_filev(struct XorrisO *xorriso, char *wd,
|
|
int filec, char **filev, off_t boss_mem, int flag);
|
|
|
|
/* @param flag bit0= do not only sum up sizes but also print subdirs
|
|
bit1= this is a recursion
|
|
bit2= do not report result by Xorriso_result()
|
|
@return <=0 error , 1 ok , 2 could not open directory
|
|
*/
|
|
int Xorriso_show_dux_subs(struct XorrisO *xorriso,
|
|
char *abs_path, char *rel_path, off_t *size,
|
|
off_t boss_mem,
|
|
struct LinkiteM *link_stack,
|
|
int flag);
|
|
|
|
/*
|
|
@param flag >>> bit0= remove whole sub tree: rm -r
|
|
bit1= remove empty directory: rmdir
|
|
bit2= recursion: do not reassure in mode 2 "tree"
|
|
bit3= this is for overwriting and not for plain removal
|
|
bit4= count deleted files in xorriso->pacifier_count
|
|
bit5= with bit0 only remove directory content, not the directory
|
|
@return <=0 = error
|
|
1 = removed leaf file object
|
|
2 = removed directory or tree
|
|
3 = did not remove on user revocation
|
|
*/
|
|
int Xorriso_rmx(struct XorrisO *xorriso, off_t boss_mem, char *path, int flag);
|
|
|
|
int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job,
|
|
char *abs_dir_parm, char *dir_path,
|
|
struct stat *dir_stbuf, int depth,
|
|
struct LinkiteM *link_stack, int flag);
|
|
|
|
/* @param flag bit0= no hardlink reconstruction
|
|
bit1= do not set xorriso->node_*_prefixes
|
|
bit5= -extract_single: eventually do not insert directory tree
|
|
*/
|
|
int Xorriso_restore_sorted(struct XorrisO *xorriso, int count,
|
|
char **src_array, char **tgt_array,
|
|
int *problem_count, int flag);
|
|
|
|
/* @param flag bit0= path is a directory
|
|
bit2= recursion: do not reassure in mode 2 "tree"
|
|
bit3= this is for overwriting and not for plain removal
|
|
*/
|
|
int Xorriso_reassure_restore(struct XorrisO *xorriso, char *path, int flag);
|
|
|
|
/* @param flag bit7= return 4 if restore fails from denied permission
|
|
do not issue error message
|
|
@return <=0 failure , 1 success ,
|
|
4 with bit7: permission to create file was denied
|
|
*/
|
|
int Xorriso_make_tmp_path(struct XorrisO *xorriso, char *orig_path,
|
|
char *tmp_path, int *fd, int flag);
|
|
|
|
/* @param flag bit0= change regardless of xorriso->do_auto_chmod
|
|
bit1= desired is only rx
|
|
*/
|
|
int Xorriso_auto_chmod(struct XorrisO *xorriso, char *disk_path, int flag);
|
|
|
|
int Xorriso_make_accessible(struct XorrisO *xorriso, char *disk_path,int flag);
|
|
|
|
/* @param flag bit0= prefer to find a match after *img_prefixes
|
|
(but deliver img_prefixes if no other can be found)
|
|
*/
|
|
int Xorriso_make_restore_path(struct XorrisO *xorriso,
|
|
struct Xorriso_lsT **img_prefixes, struct Xorriso_lsT **disk_prefixes,
|
|
char img_path[SfileadrL], char disk_path[SfileadrL], int flag);
|
|
|
|
int Xorriso_restore_make_hl(struct XorrisO *xorriso,
|
|
char *old_path, char *new_path, int flag);
|
|
|
|
int Xorriso_afile_fopen(struct XorrisO *xorriso,
|
|
char *filename, char *mode, FILE **ret_fp, int flag);
|
|
|
|
int Xorriso_make_mount_cmd(struct XorrisO *xorriso, char *cmd,
|
|
off_t lba, int track, int session, char *volid,
|
|
char *devadr, char result[SfileadrL], int flag);
|
|
|
|
int Xorriso_append_scdbackup_record(struct XorrisO *xorriso, int flag);
|
|
|
|
int Xorriso_concat(struct XorrisO *xorriso, char *mode, char *target,
|
|
int progc, char **progv,
|
|
int filec, char **filev, int flag);
|
|
|
|
int Xorriso_determine_capacity(struct XorrisO *xorriso, char *path,
|
|
off_t *capacity, char **reason, int flag);
|
|
|
|
#endif /* ! Xorriso_pvt_diskop_includeD */
|
|
|