r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
[bbaumbach/samba-autobuild/.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
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
22 /* prototypes for private functions first - for clarity */
23
24 /* public functions - the api */
25
26 SMB_ACL_T irixacl_sys_acl_get_file(vfs_handle_struct *handle,
27                                     const char *path_p,
28                                     SMB_ACL_TYPE_T type)
29 {
30         errno = ENOTSUP;
31         return NULL;
32 }
33
34 SMB_ACL_T irixacl_sys_acl_get_fd(vfs_handle_struct *handle,
35                                   files_struct *fsp,
36                                   int fd)
37 {
38         errno = ENOTSUP;
39         return NULL;
40 }
41
42 int irixacl_sys_acl_set_file(vfs_handle_struct *handle,
43                               const char *name,
44                               SMB_ACL_TYPE_T type,
45                               SMB_ACL_T theacl)
46 {
47         errno = ENOTSUP;
48         return -1;
49 }
50
51 int irixacl_sys_acl_set_fd(vfs_handle_struct *handle,
52                             files_struct *fsp,
53                             int fd, SMB_ACL_T theacl)
54 {
55         errno = ENOTSUP;
56         return -1;
57 }
58
59 int irixacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
60                                      const char *path)
61 {
62         errno = ENOTSUP;
63         return -1;
64 }
65
66 /* private functions */
67
68 /* VFS operations structure */
69
70 static vfs_op_tuple irixacl_op_tuples[] = {
71         /* Disk operations */
72   {SMB_VFS_OP(irixacl_sys_acl_get_file),
73    SMB_VFS_OP_SYS_ACL_GET_FILE,
74    SMB_VFS_LAYER_TRANSPARENT},
75
76   {SMB_VFS_OP(irixacl_sys_acl_get_fd),
77    SMB_VFS_OP_SYS_ACL_GET_FD,
78    SMB_VFS_LAYER_TRANSPARENT},
79
80   {SMB_VFS_OP(irixacl_sys_acl_set_file),
81    SMB_VFS_OP_SYS_ACL_SET_FILE,
82    SMB_VFS_LAYER_TRANSPARENT},
83
84   {SMB_VFS_OP(irixacl_sys_acl_set_fd),
85    SMB_VFS_OP_SYS_ACL_SET_FD,
86    SMB_VFS_LAYER_TRANSPARENT},
87
88   {SMB_VFS_OP(irixacl_sys_acl_delete_def_file),
89    SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE,
90    SMB_VFS_LAYER_TRANSPARENT},
91
92   {SMB_VFS_OP(NULL),
93    SMB_VFS_OP_NOOP,
94    SMB_VFS_LAYER_NOOP}
95 };
96
97 NTSTATUS vfs_irixacl_init(void);
98 NTSTATUS vfs_irixacl_init(void)
99 {
100         return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "irixacl",
101                                 irixacl_op_tuples);
102 }
103
104 /* ENTE */