]> arthur.barton.de Git - netatalk.git/blob - include/atalk/unix.h
Replace relevant direct seteuid() calls with calls to (un)become_root()
[netatalk.git] / include / atalk / unix.h
1 /*
2    Copyright (c) 2009 Frank Lahm <franklahm@gmail.com>
3
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.
8  
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.
13 */
14
15 #ifndef ATALK_UNIX_H
16 #define ATALK_UNIX_H
17
18 #ifdef HAVE_CONFIG_H
19 #include <config.h>
20 #endif
21
22 #include <sys/stat.h>
23 #include <sys/types.h>
24 #include <dirent.h>
25
26 #define NETATALK_DIOSZ_STACK 65536
27 #define NETATALK_DIOSZ_HEAP  (1024*1024)
28
29 /* vfs/unix.c */
30 extern int netatalk_unlink(const char *name);
31 extern int netatalk_unlinkat(int dirfd, const char *name);
32 extern int statat(int dirfd, const char *path, struct stat *st);
33 extern int lstatat(int dirfd, const char *path, struct stat *st);
34 extern DIR *opendirat(int dirfd, const char *path);
35
36 /* rmdir ENOENT not an error */
37 extern int netatalk_rmdir(int dirfd, const char *name);
38 extern int netatalk_rmdir_all_errors(int dirfd, const char *name);
39
40 extern int setfilmode(const char *, mode_t, struct stat *, mode_t);
41 extern int dir_rx_set(mode_t mode);
42 extern int unix_rename(int sfd, const char *oldpath, int dfd, const char *newpath);
43 extern int copy_file(int sfd, const char *src, const char *dst, mode_t mode);
44 extern int copy_file_fd(int sfd, int dfd);
45 extern int copy_ea(const char *ea, int sfd, const char *src, const char *dst, mode_t mode);
46
47 extern void become_root(void);
48 extern void unbecome_root(void);
49 extern int gmem(gid_t gid, int ngroups, gid_t *groups);
50
51 #endif  /* ATALK_UNIX_H */