+extern struct dir *adddir (struct vol *, struct dir *,
+ struct path *);
+
+extern int movecwd (struct vol *, struct dir *);
+extern int deletecurdir (struct vol *);
+extern struct path *cname (struct vol *, struct dir *,
+ char **);
+extern mode_t mtoumode (struct maccess *);
+extern void utommode (struct stat *, struct maccess *);
+extern int getdirparams (const struct vol *, u_int16_t, struct path *,
+ struct dir *, char *, size_t *);
+extern int setdirparams (struct vol *, struct path *, u_int16_t, char *);
+extern int renamedir(const struct vol *, int, char *, char *, struct dir *,
+ struct dir *, char *);
+extern int path_error (struct path *, int error);
+
+extern void setdiroffcnt (struct dir *dir, struct stat *st, u_int32_t count);
+extern int dirreenumerate (struct dir *dir, struct stat *st);
+
+typedef int (*dir_loop)(struct dirent *, char *, void *);
+
+extern int for_each_dirent (const struct vol *, char *, dir_loop , void *);
+
+extern int check_access (char *name , int mode);
+extern int file_access (struct path *path, int mode);
+
+extern int netatalk_unlink (const char *name);
+
+extern int caseenumerate (const struct vol *, struct path *, struct dir *);
+
+extern hash_t *dirhash (void);
+/* from enumerate.c */
+extern char *check_dirent (const struct vol *, char *);