]> arthur.barton.de Git - netatalk.git/blob - etc/afpd/afp_vfs.h
- merge branch-netatalk-afp-3x-dev, HEAD was tagged before
[netatalk.git] / etc / afpd / afp_vfs.h
1 /*
2    Copyright (c) 2004 Didier Gautheron
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    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18    vfs layer for afp
19 */
20
21 #ifndef _AFP_VFS_H
22 #define _AFP_VFS_H
23
24 #include <atalk/adouble.h>
25 struct vol;
26
27 struct vfs_ops {
28     /* low level adouble fn */
29     char *(*ad_path)(const char *, int);
30
31     /* */
32     int (*validupath)(const struct vol *, const char *);
33     int (*rf_chown)(const struct vol *, const char *path, uid_t owner, gid_t group);
34     int (*rf_renamedir)(const struct vol *, const char *oldpath, const char *newpath);
35     int (*rf_deletecurdir)(const struct vol *);
36     int (*rf_setfilmode)(const struct vol *, const char * name, mode_t mode, struct stat *st);
37     int (*rf_setdirmode)(const struct vol *, const char * name, mode_t mode, struct stat *st);
38     int (*rf_setdirunixmode)(const struct vol *, const char * name, mode_t mode, struct stat *st);
39
40     int (*rf_setdirowner)(const struct vol *, const char *path, uid_t owner, gid_t group);
41
42     int (*rf_deletefile)(const struct vol *, const char * );
43     int (*rf_renamefile)(const struct vol *, const char *oldpath, const char *newpath);
44
45 };
46
47 void initvol_vfs(struct vol *vol);
48
49 #endif