Lines Matching defs:acl

62 	smb_acl_t *acl;
66 if ((acl = malloc(size)) == NULL)
69 acl->sl_revision = revision;
70 acl->sl_bsize = bsize;
71 acl->sl_acecnt = acecnt;
72 acl->sl_aces = (smb_ace_t *)(acl + 1);
74 list_create(&acl->sl_sorted, sizeof (smb_ace_t),
76 return (acl);
80 smb_acl_free(smb_acl_t *acl)
85 if (acl == NULL)
88 for (i = 0; i < acl->sl_acecnt; i++)
89 smb_sid_free(acl->sl_aces[i].se_sid);
91 while ((ace = list_head(&acl->sl_sorted)) != NULL)
92 list_remove(&acl->sl_sorted, ace);
93 list_destroy(&acl->sl_sorted);
94 free(acl);
106 smb_acl_len(smb_acl_t *acl)
108 return ((acl) ? acl->sl_bsize : 0);
113 smb_acl_isvalid(smb_acl_t *acl, int which_acl)
115 if (acl->sl_bsize < SMB_ACL_HDRSIZE)
118 if (acl->sl_revision != ACL_REVISION) {
166 smb_acl_sort(smb_acl_t *acl)
174 assert(acl);
176 if (acl->sl_acecnt == 0) {
189 for (i = 0, ace = acl->sl_aces; i < acl->sl_acecnt; ++i, ace++) {
224 list_insert_tail(&acl->sl_sorted, ace);
243 smb_acl_t *acl;
259 acl = smb_acl_alloc(ACL_REVISION, SMB_ACL_HDRSIZE, zacl->acl_cnt);
267 smb_acl_free(acl);
268 acl = NULL;
272 ace = &acl->sl_aces[numaces];
279 acl->sl_bsize += ace->se_hdr.se_bsize;
283 return (acl);
300 smb_acl_to_zfs(smb_acl_t *acl, uint32_t flags, int which_acl, acl_t **fs_acl)
314 if (acl && !smb_acl_isvalid(acl, which_acl))
317 if ((acl == NULL) || (acl->sl_acecnt == 0)) {
319 *fs_acl = smb_fsacl_null_empty(acl == NULL);
325 idm_stat = smb_idmap_batch_create(&sib, acl->sl_acecnt,
330 zacl = smb_fsacl_alloc(acl->sl_acecnt, flags);
333 ace = acl->sl_aces;
336 for (i = 0; i < acl->sl_acecnt; i++, zace++, ace++, sim++) {
368 ace = acl->sl_aces;
370 for (i = 0; i < acl->sl_acecnt; i++, zace++, ace++, sim++) {
507 acl_t *acl;
509 acl = acl_alloc(ACE_T);
510 acl->acl_cnt = acenum;
511 if ((acl->acl_aclp = malloc(acl->acl_entry_size * acenum)) == NULL)
514 acl->acl_flags = flags;
515 return (acl);
519 smb_fsacl_free(acl_t *acl)
521 if (acl)
522 acl_free(acl);