]> arthur.barton.de Git - netatalk.git/blob - include/atalk/unix.h
Convert afp_moveandrename and all called funcs to XXXat semantics if available
[netatalk.git] / include / atalk / unix.h
1 /*
2    $Id: unix.h,v 1.3 2010-03-12 15:16:49 franklahm Exp $
3    Copyright (c) 2009 Frank Lahm <franklahm@gmail.com>
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 2 of the License, or
8    (at your option) any later version.
9  
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 */
15
16 #ifndef ATALK_UNIX_H
17 #define ATALK_UNIX_H
18
19 #ifdef HAVE_CONFIG_H
20 #include <config.h>
21 #endif
22
23 #include <sys/types.h>
24 #include <dirent.h>
25
26 /* vfs/unix.c */
27 extern int netatalk_unlink(const char *name);
28 extern int netatalk_unlinkat(int dirfd, const char *name);
29 extern char *fullpathname(const char *);
30 extern int statat(int dirfd, const char *path, struct stat *st);
31 extern int lstatat(int dirfd, const char *path, struct stat *st);
32 extern DIR *opendirat(int dirfd, const char *path);
33
34 /* rmdir ENOENT not an error */
35 extern int netatalk_rmdir(int dirfd, const char *name);
36 extern int netatalk_rmdir_all_errors(int dirfd, const char *name);
37
38 extern int setfilmode(const char *, mode_t, struct stat *, mode_t);
39 extern int dir_rx_set(mode_t mode);
40 extern int stickydirmode(const char *name, const mode_t mode, const int dropbox, const mode_t v_umask);
41 extern int unix_rename(int sfd, const char *oldpath, int dfd, const char *newpath);
42 extern int copy_file(int sfd, const char *src, const char *dst, mode_t mode);
43 #endif  /* ATALK_UNIX_H */