]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/dircache.h
Merge remote-tracking branch 'remotes/origin/branch-netatalk-2-1'
[netatalk.git] / etc / afpd / dircache.h
index cb0eed76f790d8a18019c724b80b2a8c94445507..16c2df1dbde26ab5d3d994d429172a98fa9bcc7a 100644 (file)
@@ -1,5 +1,4 @@
 /*
-   $Id: dircache.h,v 1.1.2.5 2010-02-11 14:13:06 franklahm Exp $
    Copyright (c) 2010 Frank Lahm <franklahm@gmail.com>
 
    This program is free software; you can redistribute it and/or modify
 #ifndef DIRCACHE_H 
 #define DIRCACHE_H
 
+#include <sys/types.h>
+
 #include <atalk/volume.h>
 #include <atalk/directory.h>
 
 /* Maximum size of the dircache hashtable */
 #define DEFAULT_MAX_DIRCACHE_SIZE 8192
 #define MAX_POSSIBLE_DIRCACHE_SIZE 131072
+#define DIRCACHE_FREE_QUANTUM 256
 
 /* flags for dircache_remove */
 #define DIRCACHE      (1 << 0)
 #define DIDNAME_INDEX (1 << 1)
 #define QUEUE_INDEX   (1 << 2)
+#define DIRCACHE_ALL  (DIRCACHE|DIDNAME_INDEX|QUEUE_INDEX)
 
 extern int        dircache_init(int reqsize);
-extern int        dircache_add(struct dir *);
+extern int        dircache_add(const struct vol *, struct dir *);
 extern void       dircache_remove(const struct vol *, struct dir *, int flag);
 extern struct dir *dircache_search_by_did(const struct vol *vol, cnid_t did);
-extern struct dir *dircache_search_by_name(const struct vol *, const struct dir *dir, char *name, int len);
+extern struct dir *dircache_search_by_name(const struct vol *, const struct dir *dir, char *name, int len, time_t ctime);
 extern void       dircache_dump(void);
-
+extern void       log_dircache_stat(void);
 #endif /* DIRCACHE_H */