#### 11.2.3 File Name Errors ¶

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.

`EACCES`

  The process does not have search permission for a directory component of the file name.

`ENAMETOOLONG`

  This 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.

`ENOENT`

  This 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.

`ENOTDIR`

  A file that is referenced as a directory component in the file name exists, but it isn’t a directory.

`ELOOP`

  Too 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.