2 Copyright (c) 2009 Frank Lahm <franklahm@gmail.com>
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
23 #include <sys/types.h>
26 #include <atalk/globals.h>
28 #define NETATALK_DIOSZ_STACK 65536
29 #define NETATALK_DIOSZ_HEAP (1024*1024)
34 extern int netatalk_unlink(const char *name);
35 extern int netatalk_unlinkat(int dirfd, const char *name);
36 extern int statat(int dirfd, const char *path, struct stat *st);
37 extern DIR *opendirat(int dirfd, const char *path);
39 /* rmdir ENOENT not an error */
40 extern int netatalk_rmdir(int dirfd, const char *name);
41 extern int netatalk_rmdir_all_errors(int dirfd, const char *name);
43 extern int setfilmode(const struct vol *vol, const char *name, mode_t mode, struct stat *st);
44 extern int dir_rx_set(mode_t mode);
45 extern int unix_rename(int sfd, const char *oldpath, int dfd, const char *newpath);
46 extern int copy_file(int sfd, const char *src, const char *dst, mode_t mode);
47 extern int copy_file_fd(int sfd, int dfd);
48 extern int copy_ea(const char *ea, int sfd, const char *src, const char *dst, mode_t mode);
50 extern void become_root(void);
51 extern void unbecome_root(void);
52 extern int gmem(gid_t gid, int ngroups, gid_t *groups);
53 extern int set_groups(AFPObj *obj, struct passwd *pwd);
54 extern const char *print_groups(int ngroups, gid_t *groups);
55 #endif /* ATALK_UNIX_H */