Changeset 988 for vendor/current/source3/include/smb_acls.h
- Timestamp:
- Nov 24, 2016, 1:14:11 PM (9 years ago)
- File:
-
- 1 edited
-
vendor/current/source3/include/smb_acls.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/include/smb_acls.h
r414 r988 21 21 #define _SMB_ACLS_H 22 22 23 24 25 26 27 23 28 typedef int SMB_ACL_TYPE_T; 24 29 typedef mode_t *SMB_ACL_PERMSET_T; 25 30 typedef mode_t SMB_ACL_PERM_T; 26 #define SMB_ACL_READ 427 #define SMB_ACL_WRITE 228 #define SMB_ACL_EXECUTE 129 30 /* Types of ACLs. */31 enum smb_acl_tag_t {32 SMB_ACL_TAG_INVALID=0,33 SMB_ACL_USER=1,34 SMB_ACL_USER_OBJ,35 SMB_ACL_GROUP,36 SMB_ACL_GROUP_OBJ,37 SMB_ACL_OTHER,38 SMB_ACL_MASK39 };40 31 41 32 typedef enum smb_acl_tag_t SMB_ACL_TAG_T; 42 43 struct smb_acl_entry { 44 enum smb_acl_tag_t a_type; 45 SMB_ACL_PERM_T a_perm; 46 uid_t uid; 47 gid_t gid; 48 }; 49 50 typedef struct smb_acl_t { 51 int size; 52 int count; 53 int next; 54 struct smb_acl_entry acl[1]; 55 } *SMB_ACL_T; 33 typedef struct smb_acl_t *SMB_ACL_T; 56 34 57 35 typedef struct smb_acl_entry *SMB_ACL_ENTRY_T; 58 36 59 #define SMB_ACL_FIRST_ENTRY 0 60 #define SMB_ACL_NEXT_ENTRY 1 37 /* The following definitions come from lib/sysacls.c */ 61 38 62 #define SMB_ACL_TYPE_ACCESS 0 63 #define SMB_ACL_TYPE_DEFAULT 1 39 int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p); 40 int sys_acl_get_tag_type(SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T *type_p); 41 int sys_acl_get_permset(SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T *permset_p); 42 void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d); 43 int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset_d); 44 int sys_acl_add_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm); 45 int sys_acl_get_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm); 46 char *sys_acl_to_text(const struct smb_acl_t *acl_d, ssize_t *len_p); 47 SMB_ACL_T sys_acl_init(TALLOC_CTX *mem_ctx); 48 int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p); 49 int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T tag_type); 50 int sys_acl_set_qualifier(SMB_ACL_ENTRY_T entry_d, void *qual_p); 51 int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T permset_d); 52 int sys_acl_free_text(char *text); 53 int sys_acl_valid(SMB_ACL_T acl_d); 54 SMB_ACL_T sys_acl_get_file(struct vfs_handle_struct *handle, 55 const char *path_p, SMB_ACL_TYPE_T type, 56 TALLOC_CTX *mem_ctx); 57 SMB_ACL_T sys_acl_get_fd(struct vfs_handle_struct *handle, struct files_struct *fsp, 58 TALLOC_CTX *mem_ctx); 59 int sys_acl_set_file(struct vfs_handle_struct *handle, 60 const char *name, SMB_ACL_TYPE_T type, SMB_ACL_T acl_d); 61 int sys_acl_set_fd(struct vfs_handle_struct *handle, struct files_struct *fsp, 62 SMB_ACL_T acl_d); 63 int sys_acl_delete_def_file(struct vfs_handle_struct *handle, 64 const char *path); 65 int no_acl_syscall_error(int err); 64 66 65 67 #endif /* _SMB_ACLS_H */
Note:
See TracChangeset
for help on using the changeset viewer.
