X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Fvolume.h;h=60bae6ff5cb0dde0831c075eaec37886400af5a9;hb=b362b6f7b22b6e4e9e74760989f389149677917b;hp=77966459b2618f69d3cff16faeae7680a00bb9e0;hpb=bb18f4d45a9760f2daee860e71c80578bddf4712;p=netatalk.git diff --git a/include/atalk/volume.h b/include/atalk/volume.h index 77966459..60bae6ff 100644 --- a/include/atalk/volume.h +++ b/include/atalk/volume.h @@ -1,6 +1,4 @@ /* - * $Id: volume.h,v 1.16 2010/03/31 09:47:32 franklahm Exp $ - * * Copyright (c) 1990,1994 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. */ @@ -8,9 +6,10 @@ #ifndef ATALK_VOLUME_H #define ATALK_VOLUME_H 1 +#include #include #include -#include +// #include #include #include @@ -20,7 +19,7 @@ #define AFPVOL_U8MNAMELEN 255 /* AFP3 sepc */ #define AFPVOL_MACNAMELEN 27 /* AFP2 spec */ -typedef u_int64_t VolSpace; +typedef uint64_t VolSpace; struct vol { struct vol *v_next; @@ -65,7 +64,10 @@ struct vol { char *v_gvs; void *v_nfsclient; int v_nfs; - + VolSpace v_tm_used; /* used bytes on a TM volume */ + time_t v_tm_cachetime; /* time at which v_tm_used was calculated last */ + VolSpace v_appended; /* amount of data appended to files */ + /* only when opening/closing volumes or in error */ int v_casefold; char *v_localname; /* as defined in AppleVolumes.default */ @@ -136,10 +138,8 @@ struct vol { #define AFPVOL_TM (1 << 23) /* Supports TimeMachine */ #define AFPVOL_ACLS (1 << 24) /* Volume supports ACLS */ #define AFPVOL_SEARCHDB (1 << 25) /* Use fast CNID db search instead of filesystem */ -/* Found this in branch dir-rewrite, maybe we want to use it sometimes */ -#if 0 -#define AFPVOL_CDROM (1 << XX) /* Ejectable media eg CD -> in memory CNID db */ -#endif +#define AFPVOL_NONETIDS (1 << 26) /* signal the client it shall do privelege mapping */ +#define AFPVOL_FOLLOWSYM (1 << 27) /* follow symlinks on the server, default is not to */ /* Extended Attributes vfs indirection */ #define AFPVOL_EA_NONE 0 /* No EAs */ @@ -178,7 +178,7 @@ int wincheck(const struct vol *vol, const char *path); #define VOLPBIT_ATTR_BLANKACCESS (1 << 4) #define VOLPBIT_ATTR_UNIXPRIV (1 << 5) #define VOLPBIT_ATTR_UTF8 (1 << 6) -#define VOLPBIT_ATTR_NONETUID (1 << 7) +#define VOLPBIT_ATTR_NONETIDS (1 << 7) #define VOLPBIT_ATTR_EXT_ATTRS (1 << 10) #define VOLPBIT_ATTR_ACLS (1 << 11) #define VOLPBIT_ATTR_TM (1 << 13) @@ -197,16 +197,12 @@ int wincheck(const struct vol *vol, const char *path); #define VOLPBIT_XBTOTAL 10 #define VOLPBIT_BSIZE 11 /* block size */ -#ifdef AFP3x #define utf8_encoding() (afp_version >= 30) -#else -#define utf8_encoding() (0) -#endif #define vol_noadouble(vol) (((vol)->v_flags & AFPVOL_NOADOUBLE) ? 1 : 0) #define vol_nodev(vol) (((vol)->v_flags & AFPVOL_NODEV) ? 1 : 0) #define vol_unix_priv(vol) (afp_version >= 30 && ((vol)->v_flags & AFPVOL_UNIX_PRIV)) #define vol_inv_dots(vol) (((vol)->v_flags & AFPVOL_INV_DOTS) ? 1 : 0) - +#define vol_syml_opt(vol) (((vol)->v_flags & AFPVOL_FOLLOWSYM) ? 0 : O_NOFOLLOW) #endif