X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=bin%2Fad%2Fad.h;h=3195641f7cb291c78e66d580a4d3a047f9d53997;hb=refs%2Fheads%2Ftmp%2Fv3.0.2-alex;hp=9f8fd4b5ae0dcb3692751d6d480cf71ca0fc17a0;hpb=f357762920325c7d84ec891e468655fea5b4473e;p=netatalk.git diff --git a/bin/ad/ad.h b/bin/ad/ad.h index 9f8fd4b5..3195641f 100644 --- a/bin/ad/ad.h +++ b/bin/ad/ad.h @@ -1,5 +1,5 @@ /* - Copyright (c) 2009 Frank Lahm + Copyright (c) 2009,2011 Frank Lahm This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,15 +15,18 @@ #ifndef AD_H #define AD_H -#define _XOPEN_SOURCE 600 +#include #include #include #include +#include +#include #include -#include #include +#include +#include #define DIR_DOT_OR_DOTDOT(a) \ ((strcmp(a, ".") == 0) || (strcmp(a, "..") == 0)) @@ -35,6 +38,8 @@ } #endif +#define ADVOL_V2_OR_EA(ad) ((ad) == AD_VERSION2 || (ad) == AD_VERSION_EA) + enum logtype {STD, DBG}; #define SLOG(...) \ @@ -47,26 +52,26 @@ enum logtype {STD, DBG}; } while (0) typedef struct { - struct volinfo volinfo; - struct vol volume; + struct vol *vol; char db_stamp[ADEDLEN_PRIVSYN]; } afpvol_t; extern int log_verbose; /* Logging flag */ extern void _log(enum logtype lt, char *fmt, ...); -extern int ad_ls(int argc, char **argv); -extern int ad_cp(int argc, char **argv); -extern int ad_rm(int argc, char **argv); -extern int ad_mv(int argc, char **argv); -extern int ad_find(int argc, char **argv); +extern int ad_ls(int argc, char **argv, AFPObj *obj); +extern int ad_cp(int argc, char **argv, AFPObj *obj); +extern int ad_rm(int argc, char **argv, AFPObj *obj); +extern int ad_mv(int argc, char **argv, AFPObj *obj); +extern int ad_set(int argc, char **argv, AFPObj *obj); +extern int ad_find(int argc, char **argv, AFPObj *obj); /* ad_util.c */ -extern int openvol(const char *path, afpvol_t *vol); +extern int openvol(AFPObj *obj, const char *path, afpvol_t *vol); extern void closevol(afpvol_t *vol); extern cnid_t cnid_for_path(const afpvol_t *vol, const char *path, cnid_t *did); extern cnid_t cnid_for_paths_parent(const afpvol_t *vol, const char *path, cnid_t *did); -extern char *utompath(const struct volinfo *volinfo, const char *upath); +extern char *utompath(const struct vol *, const char *); extern int convert_dots_encoding(const afpvol_t *svol, const afpvol_t *dvol, char *path, size_t buflen); typedef struct {