s3:vfs: add durable VFS operations
[kai/samba.git] / source3 / modules / vfs_irixacl.c
1 /*
2    Unix SMB/Netbios implementation.
3    VFS module to get and set irix acls
4    Copyright (C) Michael Adam 2006,2008
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #include "includes.h"
21 #include "system/filesys.h"
22 #include "smbd/smbd.h"
23 #include "modules/vfs_irixacl.h"
24
25
26 /* prototypes for private functions first - for clarity */
27
28 /* public functions - the api */
29
30 SMB_ACL_T irixacl_sys_acl_get_file(vfs_handle_struct *handle,
31                                     const char *path_p,
32                                     SMB_ACL_TYPE_T type)
33 {
34         errno = ENOTSUP;
35         return NULL;
36 }
37
38 SMB_ACL_T irixacl_sys_acl_get_fd(vfs_handle_struct *handle,
39                                  files_struct *fsp)
40 {
41         errno = ENOTSUP;
42         return NULL;
43 }
44
45 int irixacl_sys_acl_set_file(vfs_handle_struct *handle,
46                               const char *name,
47                               SMB_ACL_TYPE_T type,
48                               SMB_ACL_T theacl)
49 {
50         errno = ENOTSUP;
51         return -1;
52 }
53
54 int irixacl_sys_acl_set_fd(vfs_handle_struct *handle,
55                             files_struct *fsp,
56                             SMB_ACL_T theacl)
57 {
58         errno = ENOTSUP;
59         return -1;
60 }
61
62 int irixacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
63                                      const char *path)
64 {
65         errno = ENOTSUP;
66         return -1;
67 }
68
69 /* private functions */
70
71 /* VFS operations structure */
72
73 static struct vfs_fn_pointers irixacl_fns = {
74         .sys_acl_get_file_fn = irixacl_sys_acl_get_file,
75         .sys_acl_get_fd_fn = irixacl_sys_acl_get_fd,
76         .sys_acl_set_file_fn = irixacl_sys_acl_set_file,
77         .sys_acl_set_fd_fn = irixacl_sys_acl_set_fd,
78         .sys_acl_delete_def_file_fn = irixacl_sys_acl_delete_def_file,
79 };
80
81 NTSTATUS vfs_irixacl_init(void);
82 NTSTATUS vfs_irixacl_init(void)
83 {
84         return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "irixacl",
85                                 &irixacl_fns);
86 }
87
88 /* ENTE */