Functions that accept file name arguments usually detect these
errno error conditions relating to the file name syntax or
trouble finding the named file. These errors are referred to throughout
this manual as the usual file name errors.
EACCESThe process does not have search permission for a directory component of the file name.
ENAMETOOLONGThis error is used when either the total length of a file name is
greater than PATH_MAX, or when an individual file name component
has a length greater than NAME_MAX. See Limits on File System Capacity.
On GNU/Hurd systems, there is no imposed limit on overall file name length, but some file systems may place limits on the length of a component.
ENOENTThis error is reported when a file referenced as a directory component in the file name doesn’t exist, or when a component is a symbolic link whose target file does not exist. See Symbolic Links.
ENOTDIRA file that is referenced as a directory component in the file name exists, but it isn’t a directory.
ELOOPToo many symbolic links were resolved while trying to look up the file name. The system has an arbitrary limit on the number of symbolic links that may be resolved in looking up a single file name, as a primitive way to detect loops. See Symbolic Links.