Add two flags to allow for handling of Extended Signatures (Session Key Protection...
[kai/samba.git] / source3 / include / smb_acls.h
index 3d9cfbf5d20b333e79f0ae8dd8bb4300bc8c79e5..16bb61f6706ff37bd6ccf4751adcd3254e855588 100644 (file)
@@ -20,6 +20,9 @@
 #ifndef _SMB_ACLS_H
 #define _SMB_ACLS_H
 
+struct vfs_handle_struct;
+struct files_struct;
+
 typedef int                    SMB_ACL_TYPE_T;
 typedef mode_t                 *SMB_ACL_PERMSET_T;
 typedef mode_t                 SMB_ACL_PERM_T;
@@ -62,4 +65,34 @@ typedef struct smb_acl_entry         *SMB_ACL_ENTRY_T;
 #define SMB_ACL_TYPE_ACCESS                    0
 #define SMB_ACL_TYPE_DEFAULT           1
 
+/* The following definitions come from lib/sysacls.c  */
+
+int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p);
+int sys_acl_get_tag_type(SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *type_p);
+int sys_acl_get_permset(SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p);
+void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d);
+int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset_d);
+int sys_acl_add_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm);
+int sys_acl_get_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm);
+char *sys_acl_to_text(const struct smb_acl_t *acl_d, ssize_t *len_p);
+SMB_ACL_T sys_acl_init(int count);
+int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p);
+int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T tag_type);
+int sys_acl_set_qualifier(SMB_ACL_ENTRY_T entry_d, void *qual_p);
+int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T permset_d);
+int sys_acl_free_text(char *text);
+int sys_acl_free_acl(SMB_ACL_T acl_d) ;
+int sys_acl_free_qualifier(void *qual, SMB_ACL_TAG_T tagtype);
+int sys_acl_valid(SMB_ACL_T acl_d);
+SMB_ACL_T sys_acl_get_file(struct vfs_handle_struct *handle,
+                          const char *path_p, SMB_ACL_TYPE_T type);
+SMB_ACL_T sys_acl_get_fd(struct vfs_handle_struct *handle, struct files_struct *fsp);
+int sys_acl_set_file(struct vfs_handle_struct *handle,
+                    const char *name, SMB_ACL_TYPE_T type, SMB_ACL_T acl_d);
+int sys_acl_set_fd(struct vfs_handle_struct *handle, struct files_struct *fsp,
+                  SMB_ACL_T acl_d);
+int sys_acl_delete_def_file(struct vfs_handle_struct *handle,
+                           const char *path);
+int no_acl_syscall_error(int err);
+
 #endif /* _SMB_ACLS_H */