ACE_DELETE_CHILD
if (access_mask & ACE_DELETE_CHILD)
if (ace->a_access_mask & ACE_DELETE_CHILD)
if (ace->a_access_mask & ACE_DELETE_CHILD) {
{ ACE_DELETE_CHILD, "D" },
ACE_DELETE_CHILD | \
flips |= ACE_DELETE_CHILD;
flips |= ACE_DELETE_CHILD;
write_mask |= ACE_DELETE_CHILD;
if ((mask & ACE_DELETE_CHILD) && !(mask & ACE_WRITE_DATA))
access |= ACE_DELETE_CHILD;
deny->a_access_mask ^= ACE_DELETE_CHILD;
wantbits |= ACE_DELETE_CHILD;
if (buf[i].a_access_mask & (ACE_DELETE|ACE_DELETE_CHILD))
{ 'D', ACE_DELETE_CHILD},
if (mask & ACE_DELETE_CHILD)
if (error == 0 && (mask & ACE_DELETE_CHILD)) {
#define SMB_SHR_ACE_CONTROL_PERMS (ACE_MODIFY_PERMS & (~ACE_DELETE_CHILD))
*acet_mask |= ACE_DELETE_CHILD;
if (acet_mask & ACE_DELETE_CHILD)
ACE_DELETE_CHILD | ACE_ADD_SUBDIRECTORY) !=
(ACE_DELETE_CHILD | ACE_ADD_SUBDIRECTORY)) ||
SMB_TREE_HAS_ACCESS(sr, ACE_DELETE_CHILD) == 0)
ACE_WRITE_NAMED_ATTRS, ACE_EXECUTE, ACE_DELETE_CHILD,
error = VOP_ACCESS(dir_vp, ACE_DELETE_CHILD, flags,
if ((v4_mode & (ACE_DELETE | ACE_DELETE_CHILD)) &&
(ACE_DELETE|ACE_DELETE_CHILD)))
wanted_dirperms = ACE_DELETE_CHILD;
ACE_WRITE_ACL|ACE_DELETE|ACE_DELETE_CHILD|ACE_SYNCHRONIZE)
ACE_DELETE|ACE_DELETE_CHILD)
ACE_WRITE_NAMED_ATTRS|ACE_EXECUTE|ACE_DELETE_CHILD|ACE_READ_ATTRIBUTES| \
ACE_WRITE_OWNER|ACE_DELETE|ACE_DELETE_CHILD)
ACE_WRITE_NAMED_ATTRS|ACE_EXECUTE|ACE_DELETE_CHILD|ACE_READ_ATTRIBUTES| \