7 #include <atalk/volinfo.h>
10 enum logtype {LOGSTD, LOGDEBUG};
11 typedef unsigned int dbd_flags_t;
12 typedef enum {LOCK_FREE, LOCK_UNLOCK, LOCK_EXCL, LOCK_SHRD} lockcmd_t;
14 #define DBD_FLAGS_SCAN (1 << 0)
15 #define DBD_FLAGS_FORCE (1 << 1)
16 #define DBD_FLAGS_EXCL (1 << 2)
17 #define DBD_FLAGS_CLEANUP (1 << 3) /* Dont create AD stuff, but cleanup orphaned */
18 #define DBD_FLAGS_STATS (1 << 4)
20 #define ADv2_DIRNAME ".AppleDouble"
22 #define DIR_DOT_OR_DOTDOT(a) \
23 ((strcmp(a, ".") == 0) || (strcmp(a, "..") == 0))
25 #define STRCMP(a,b,c) \
28 extern int nocniddb; /* Dont open CNID database, only scan filesystem */
29 extern int db_locked; /* have we got the fcntl lock on lockfd ? */
30 extern volatile sig_atomic_t alarmed;
31 extern struct volinfo *volinfo;
32 extern char cwdbuf[MAXPATHLEN+1];
34 extern void dbd_log(enum logtype lt, char *fmt, ...);
35 extern int cmd_dbd_scanvol(DBD *dbd, struct volinfo *volinfo, dbd_flags_t flags);
36 extern int get_lock(lockcmd_t cmd, const char *dbpath);
39 Functions for querying the database which couldn't be reused from the existing
40 funcs pool of dbd_* for one reason or another
42 extern int cmd_dbd_add(DBD *dbd, struct cnid_dbd_rqst *rqst, struct cnid_dbd_rply *rply);
43 #endif /* CMD_DBD_H */