Linux Access Control Lists library (libacl, -lacl). The function returns if the file or directory referred to by the argument is associated with an extended access ACL, or if the directory re‐ ferred to by is associated with a default ACL. The function re‐ turns if the file has neither an extended access ACL nor a de‐ fault ACL. An extended ACL is an ACL that contains entries other than the three required entries of tag types ACL_USER_OBJ, ACL_GROUP_OBJ and ACL_OTHER. If the result of the function for a file object is then ACLs define no discretionary access rights other than those already defined by the traditional file permis‐ sion bits. Access to the file object may be further restricted by other mechanisms, such as Mandatory Access Control schemes. The system call can be used to check whether a given type of ac‐ cess to a file object would be granted. is identical to except in the case of a symbolic link, where the link itself is interro‐ gated, not the file that it refers to. Since symbolic links have no ACL themselves, the operation is supposed to fail on them. If successful, the function returns if the file object referred to by has an extended access ACL or a default ACL, and if the file object referred to by has neither an extended access ACL nor a default ACL. Otherwise, the value is returned and the global variable is set to indicate the error. If any of the following conditions occur, the function returns and sets to the corre‐ sponding value: Search permission is denied for a component of the path prefix. The length of the argument is too long. The named object does not exist or the argument points to an empty string. A component of the path prefix is not a directory. The file system on which the file identified by is located does not support ACLs, or ACLs are disabled. This is a non‐portable, Linux specific extension to the ACL manipulation functions de‐ fined in IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned). Written by