]> arthur.barton.de Git - netatalk.git/blobdiff - bin/cnid/ad.h
Use own ftw func in ad cp
[netatalk.git] / bin / cnid / ad.h
index 0f2c4ea3f96e0ae7b5b4e2481765290239a7ed2b..fe26bc515170dc7e74ba4e9b58305fe3433bc507 100644 (file)
@@ -20,8 +20,8 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <signal.h>
-#include <ftw.h>
 
+#include <atalk/ftw.h>
 #include <atalk/volinfo.h>
 
 #define STRCMP(a,b,c) (strcmp(a,c) b 0)
 #define DIR_DOT_OR_DOTDOT(a) \
         ((strcmp(a, ".") == 0) || (strcmp(a, "..") == 0))
 
-typedef struct {
-    struct volinfo volinfo;
-//    char *dirname;
-//    char *basename;
-//    int adflags;                /* file:0, dir:ADFLAGS_DIR */
-} afpvol_t;
-
 enum logtype {STD, DBG};
 
 #define SLOG(...)                             \
@@ -47,15 +40,26 @@ enum logtype {STD, DBG};
         exit(1);                                \
     } while (0)
 
+typedef struct {
+    struct volinfo volinfo;
+//    char *basename;
+} afpvol_t;
+
 extern int log_verbose;             /* Logging flag */
 extern void _log(enum logtype lt, char *fmt, ...);
 
-extern int newvol(const char *path, afpvol_t *vol);
-extern void freevol(afpvol_t *vol);
+extern struct volinfo svolinfo, dvolinfo;
+extern struct vol svolume, dvolume;
 
 extern int ad_ls(int argc, char **argv);
 extern int ad_cp(int argc, char **argv);
 
+/* ad_util.c */
+extern int newvol(const char *path, afpvol_t *vol);
+extern void freevol(afpvol_t *vol);
+extern cnid_t get_parent_cnid_for_path(const struct volinfo *vi, const struct vol *vol, const char *path);
+extern char *utompath(const struct volinfo *volinfo, char *upath);
+
 struct FTWELEM {
     const struct FTW  *ftw;
     const char        *ftw_path;
@@ -74,7 +78,7 @@ extern PATH_T to;
 extern int fflag, iflag, lflag, nflag, pflag, vflag;
 extern volatile sig_atomic_t info;
 
-extern int copy_file(const struct FTW *, const char *, const struct stat *, int);
+extern int ftw_copy_file(const struct FTW *, const char *, const struct stat *, int);
 extern int copy_link(const struct FTW *, const char *, const struct stat *, int);
 extern int setfile(const struct stat *, int);
 extern int preserve_dir_acls(const struct stat *, char *, char *);