mkdir - create a directory
int mkdir(const char *pathname, mode_t mode);
mkdir attempts to create a directory named pathname.
mode specifies the permissions to use. It is modified by
the process's umask in the usual way: the permissions of
the created file are (mode & ~umask).
The newly created directory will be owned by the effective
uid of the process. If the directory containing the file
has the set group id bit set, or if the filesystem is
mounted with BSD group semantics, the new directory will
inherit the group ownership from its parent; otherwise it
will be owned by the effective gid of the process.
If the parent directory has the set group id bit set then
so will the newly created directory.
mkdir returns zero on success, or -1 if an error occurred
(in which case, errno is set appropriately).
EPERM The filesystem containing pathname does not support
the creation of directories.
EEXIST pathname already exists (not necessarily as a
directory). This includes the case where pathname
is a symbolic link, dangling or not.
EFAULT pathname points outside your accessible address
EACCES The parent directory does not allow write permis
sion to the process, or one of the directories in
pathname did not allow search (execute) permission.
pathname was too long.
ENOENT A directory component in pathname does not exist or
is a dangling symbolic link.
ENOMEM Insufficient kernel memory was available.
EROFS pathname refers to a file on a read-only filesys
ELOOP Too many symbolic links were encountered in resolv
ENOSPC The device containing pathname has no room for the
ENOSPC The new directory cannot be created because the
user's disk quota is exhausted.
SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documents additional
EIO, EMULTIHOP and ENOLINK error conditions; POSIX.1 omits
There are many infelicities in the protocol underlying
NFS. Some of these affect mkdir.
mkdir(1), chmod(2), mknod(2), mount(2), rmdir(2), stat(2),