aclent
static aclent_t *aclent = NULL;
if (aclent != NULL)
free(aclent);
aclent = NULL;
aclent = realloc(aclent, n * (size_t)sizeof (*aclent));
if (aclent == NULL) {
aclent[i].a_type = diskacl[j].acl_tag;
aclent[i].a_id = diskacl[j].acl_who;
aclent[i].a_perm = diskacl[j].acl_perm;
set_aclp = acl_to_aclp(ACLENT_T, aclent, n);
ln_aent_preprocess(aclent_t *aclent, int n,
if (aclent[i].a_type < curtype)
else if (aclent[i].a_type > curtype)
curtype = aclent[i].a_type;
if (aclent[i].a_type & USER)
if (aclent[i].a_type & (GROUP | GROUP_OBJ))
if (aclent[i].a_type & CLASS_OBJ) {
*mask = aclent[i].a_perm;
ln_aent_to_ace(aclent_t *aclent, int n, ace_t **acepp, int *rescount, int isdir)
error = ln_aent_preprocess(aclent, n, &hasmask, &mask,
ksort((caddr_t)aclent, n, sizeof (aclent_t), cmp2acls);
if (aclent[i].a_type & CLASS_OBJ)
(aclent[i].a_type & (USER | GROUP | GROUP_OBJ))) {
if (aclent[i].a_type & GROUP_OBJ) {
} else if (aclent[i].a_type & USER) {
acep->a_who = aclent[i].a_id;
acep->a_who = aclent[i].a_id;
if (aclent[i].a_type & ACL_DEFAULT) {
acep->a_access_mask = mode_to_ace_access(aclent[i].a_perm,
isdir, aclent[i].a_type & USER_OBJ, 1);
if (aclent[i].a_type & ACL_DEFAULT) {
if (aclent[i].a_type & USER_OBJ) {
} else if (aclent[i].a_type & USER) {
acep->a_who = aclent[i].a_id;
} else if (aclent[i].a_type & (GROUP_OBJ | GROUP)) {
if (aclent[i].a_type & GROUP_OBJ) {
acep->a_who = aclent[i].a_id;
} else if (aclent[i].a_type & OTHER_OBJ) {
| aclent
aclent_t *aclent;
aclent = $$->acl_aclp;
aclent[$$->acl_cnt] = $1;
aclent: entry_type idname aclent_perm /* user or group */
aclent_t aclent;
%type <aclent> aclent
ln_aent_preprocess(aclent_t *aclent, int n,
if (aclent[i].a_type < curtype)
else if (aclent[i].a_type > curtype)
curtype = aclent[i].a_type;
if (aclent[i].a_type & USER)
if (aclent[i].a_type & (GROUP | GROUP_OBJ))
if (aclent[i].a_type & CLASS_OBJ) {
*mask = aclent[i].a_perm;
ln_aent_to_ace4(aclent_t *aclent, int n, nfsace4 **acepp, int *rescount,
error = ln_aent_preprocess(aclent, n, &hasmask, &mask,
ksort((caddr_t)aclent, n, sizeof (aclent_t), cmp2acls);
if (aclent[i].a_type & CLASS_OBJ)
(aclent[i].a_type & (USER | GROUP | GROUP_OBJ))) {
if (aclent[i].a_type & GROUP_OBJ) {
} else if (aclent[i].a_type & USER) {
if (aclent[i].a_id == UID_UNKNOWN &&
error = nfs_idmap_uid_str(aclent[i].a_id,
if (aclent[i].a_id == GID_UNKNOWN &&
error = nfs_idmap_gid_str(aclent[i].a_id,
if (aclent[i].a_type & ACL_DEFAULT) {
acep->access_mask = mode_to_ace4_access(aclent[i].a_perm,
isdir, aclent[i].a_type & USER_OBJ, 1, isserver);
if (aclent[i].a_type & ACL_DEFAULT) {
if (aclent[i].a_type & USER_OBJ) {
} else if (aclent[i].a_type & USER) {
error = nfs_idmap_uid_str(aclent[i].a_id, &acep->who,
} else if (aclent[i].a_type & (GROUP_OBJ | GROUP)) {
if (aclent[i].a_type & GROUP_OBJ) {
error = nfs_idmap_gid_str(aclent[i].a_id,
} else if (aclent[i].a_type & OTHER_OBJ) {
aclent[i].a_type));
typedef struct aclent aclent;
aclent *aclent_val;
} aclent;
aclent *dfaclent_val;