Lines Matching defs:acl

61 	smb_acl_t *acl;
65 if ((acl = malloc(size)) == NULL)
68 acl->sl_revision = revision;
69 acl->sl_bsize = bsize;
70 acl->sl_acecnt = acecnt;
71 acl->sl_aces = (smb_ace_t *)(acl + 1);
73 list_create(&acl->sl_sorted, sizeof (smb_ace_t),
75 return (acl);
79 smb_acl_free(smb_acl_t *acl)
84 if (acl == NULL)
87 for (i = 0; i < acl->sl_acecnt; i++)
88 smb_sid_free(acl->sl_aces[i].se_sid);
90 while ((ace = list_head(&acl->sl_sorted)) != NULL)
91 list_remove(&acl->sl_sorted, ace);
92 list_destroy(&acl->sl_sorted);
93 free(acl);
105 smb_acl_len(smb_acl_t *acl)
107 return ((acl) ? acl->sl_bsize : 0);
112 smb_acl_isvalid(smb_acl_t *acl, int which_acl)
114 if (acl->sl_bsize < SMB_ACL_HDRSIZE)
117 if (acl->sl_revision != ACL_REVISION) {
165 smb_acl_sort(smb_acl_t *acl)
173 assert(acl);
175 if (acl->sl_acecnt == 0) {
188 for (i = 0, ace = acl->sl_aces; i < acl->sl_acecnt; ++i, ace++) {
223 list_insert_tail(&acl->sl_sorted, ace);
242 smb_acl_t *acl;
258 acl = smb_acl_alloc(ACL_REVISION, SMB_ACL_HDRSIZE, zacl->acl_cnt);
266 smb_acl_free(acl);
267 acl = NULL;
271 ace = &acl->sl_aces[numaces];
278 acl->sl_bsize += ace->se_hdr.se_bsize;
282 return (acl);
299 smb_acl_to_zfs(smb_acl_t *acl, uint32_t flags, int which_acl, acl_t **fs_acl)
313 if (acl && !smb_acl_isvalid(acl, which_acl))
316 if ((acl == NULL) || (acl->sl_acecnt == 0)) {
318 *fs_acl = smb_fsacl_null_empty(acl);
326 idm_stat = smb_idmap_batch_create(&sib, acl->sl_acecnt,
331 if ((zacl = smb_fsacl_alloc(acl->sl_acecnt, flags)) == NULL)
335 ace = acl->sl_aces;
338 for (i = 0; i < acl->sl_acecnt; i++, zace++, ace++, sim++) {
370 ace = acl->sl_aces;
372 for (i = 0; i < acl->sl_acecnt; i++, zace++, ace++, sim++) {
482 smb_fsacl_null_empty(smb_acl_t *acl)
493 if (acl == NULL) {
511 acl_t *acl;
513 if ((acl = acl_alloc(ACE_T)) == NULL)
516 acl->acl_cnt = acenum;
517 if ((acl->acl_aclp = malloc(acl->acl_entry_size * acenum)) == NULL) {
518 acl_free(acl);
522 acl->acl_flags = flags;
523 return (acl);
527 smb_fsacl_free(acl_t *acl)
529 if (acl)
530 acl_free(acl);