| EACCES | CAUSE | The calling process either does not have search permission to a component of the pathname or does not have write permission to the parent directory. | 
|  | ACTION | Make sure that the calling process has search permission to all components of the pathname and write permission to the parent directory. | 
| EFAULT | CAUSE | The system detected a NULL or bad address in attempting to use
the pathname parameter, or the pathname was not terminated by a null character. | 
|  | ACTION | Make sure that the pointer is correctly initialized. | 
| EIMPL | CAUSE | An attempt was made to remove the dot or dot dot directory entries, the root directory, an MPE/iX account, or an MPE/iX group; or the pathname began with two slash characters (//). | 
|  | ACTION | Remove MPE/iX accounts and MPE/iX groups using MPE/iX CI commands. The root directory can never be removed. Do not begin pathnames with two slash characters (//). | 
| ENAMETOOLONG | CAUSE | One of the following: The length of the pathname exceeds the {PATH_MAX} limit (defined in the file <limits.h>).
A component of the pathname is longer than {NAME_MAX} (defined in <limits.h>), and {_POSIX_NO_TRUNC} is in effect for that directory.
 | 
|  | ACTION | Make sure that both the component's length and the full pathname
length do not exceed the {NAME_MAX} or {PATH_MAX} limits. | 
| ENOENT | CAUSE | The specified directory does not exist, or pathname points to an empty string. | 
|  | ACTION | Specify a valid pathname. | 
| ENOTDIR | CAUSE | A component of the pathname is not a directory. | 
|  | ACTION | Specify a valid pathname. | 
| ENOTEMPTY | CAUSE | The directory specified by pathname cannot be removed because it is not empty. | 
|  | ACTION | Make sure that the directory is an empty directory. | 
| ESYSERR | CAUSE | An operating system error has occurred that does not map directly to any of the above errors. | 
|  | ACTION | Examine the MPE/iX error stack for the type of system error. |