#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(...) \
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;
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 *);