X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=bin%2Fad%2Fad.h;h=9155900c990f3f9f02773a11ffc7b6f1ea3fcbb6;hb=22a32e7449133013789f3fc7ff6b32772b0c76cc;hp=ee22654c42fbe55351e48d235464e3a6fcdf1928;hpb=631499485e36f463ee795f7173c57e5f23de9d20;p=netatalk.git diff --git a/bin/ad/ad.h b/bin/ad/ad.h index ee22654c..9155900c 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,17 +15,18 @@ #ifndef AD_H #define AD_H -#if !defined(__FreeBSD__) -# define _XOPEN_SOURCE 600 -#endif +#include #include #include #include +#include +#include #include -#include #include +#include +#include #define DIR_DOT_OR_DOTDOT(a) \ ((strcmp(a, ".") == 0) || (strcmp(a, "..") == 0)) @@ -37,6 +38,8 @@ } #endif +#define ADVOL_V2_OR_EA(ad) ((ad) == AD_VERSION2 || (ad) == AD_VERSION_EA) + enum logtype {STD, DBG}; #define SLOG(...) \ @@ -49,26 +52,25 @@ 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 {