9ef3f8662042501a7647c14a802ec778c2b9de3b
[kamenim/samba-autobuild/.git] / source3 / modules / vfs_posixacl.h
1 /*
2    Unix SMB/Netbios implementation.
3    VFS module to get and set posix acls
4    Copyright (C) Volker Lendecke 2006
5    Copyright (C) Michael Adam 2008
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #ifndef __VFS_POSIXACL_H__
22 #define __VFS_POSIXACL_H__
23
24 SMB_ACL_T posixacl_sys_acl_get_file(vfs_handle_struct *handle,
25                                     const char *path_p,
26                                     SMB_ACL_TYPE_T type);
27
28 SMB_ACL_T posixacl_sys_acl_get_fd(vfs_handle_struct *handle,
29                                   files_struct *fsp);
30
31 int posixacl_sys_acl_set_file(vfs_handle_struct *handle,
32                               const char *name,
33                               SMB_ACL_TYPE_T type,
34                               SMB_ACL_T theacl);
35
36 int posixacl_sys_acl_set_fd(vfs_handle_struct *handle,
37                             files_struct *fsp,
38                             SMB_ACL_T theacl);
39
40 int posixacl_sys_acl_delete_def_file(vfs_handle_struct *handle,
41                                      const char *path);
42
43 NTSTATUS vfs_posixacl_init(void);
44
45 #endif
46