]> arthur.barton.de Git - netatalk.git/blobdiff - include/atalk/unix.h
Configurable symlink behaviour
[netatalk.git] / include / atalk / unix.h
index af671acfa4282f13bf9beea36e31c05a2356e598..f8ab69275057f4b4c40f7a87c944e7b72211dbdd 100644 (file)
@@ -1,5 +1,5 @@
 /*
-   $Id: unix.h,v 1.1 2009-10-15 12:06:07 franklahm Exp $
+   $Id: unix.h,v 1.3 2010-03-12 15:16:49 franklahm Exp $
    Copyright (c) 2009 Frank Lahm <franklahm@gmail.com>
 
    This program is free software; you can redistribute it and/or modify
 #endif
 
 #include <sys/types.h>
+#include <dirent.h>
 
 /* vfs/unix.c */
 extern int netatalk_unlink(const char *name);
-extern char *fullpathname(const char *);
-extern int netatalk_rmdir(const char *name);
-extern int setfilmode(const char *, mode_t, struct stat *, mode_t);
+extern int netatalk_unlinkat(int dirfd, const char *name);
+extern int statat(int dirfd, const char *path, struct stat *st);
+extern DIR *opendirat(int dirfd, const char *path);
+
+/* rmdir ENOENT not an error */
+extern int netatalk_rmdir(int dirfd, const char *name);
+extern int netatalk_rmdir_all_errors(int dirfd, const char *name);
+
+extern int setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st);
 extern int dir_rx_set(mode_t mode);
 extern int stickydirmode(const char *name, const mode_t mode, const int dropbox, const mode_t v_umask);
-extern int unix_rename(const char *oldpath, const char *newpath);
-extern int copy_file(const char *src, const char *dst, mode_t mode);
+extern int unix_rename(int sfd, const char *oldpath, int dfd, const char *newpath);
+extern int copy_file(int sfd, const char *src, const char *dst, mode_t mode);
+extern void become_root(void);
+extern void unbecome_root(void);
 
 #endif  /* ATALK_UNIX_H */