fs.h (909B)
1 /* See LICENSE file for copyright and license details. */ 2 #include <limits.h> 3 #include <sys/stat.h> 4 #include <sys/types.h> 5 6 struct history { 7 struct history *prev; 8 dev_t dev; 9 ino_t ino; 10 }; 11 12 struct recursor { 13 void (*fn)(int, const char *, struct stat *, void *, struct recursor *); 14 char path[PATH_MAX]; 15 size_t pathlen; 16 struct history *hist; 17 int depth; 18 int maxdepth; 19 int follow; 20 int flags; 21 }; 22 23 enum { 24 SAMEDEV = 1 << 0, 25 DIRFIRST = 1 << 1, 26 SILENT = 1 << 2, 27 CONFIRM = 1 << 3, 28 IGNORE = 1 << 4, 29 }; 30 31 extern int cp_aflag; 32 extern int cp_fflag; 33 extern int cp_iflag; 34 extern int cp_pflag; 35 extern int cp_rflag; 36 extern int cp_vflag; 37 extern int cp_follow; 38 extern int cp_status; 39 40 extern int rm_status; 41 42 extern int recurse_status; 43 44 void recurse(int, const char *, void *, struct recursor *); 45 46 int cp(const char *, const char *, int); 47 void rm(int, const char *, struct stat *st, void *, struct recursor *);