NAME
mkdir - create a directory
SYNOPSIS
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
int mkdir(const char *pathname, mode_t mode));
DESCRIPTION
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.
RETURN VALUE
mkdir returns zero on success, or -1 if an error occurred
(in which case, errno is set appropriately).
ERRORS
EEXIST pathname already exists (not necessarily as a direc-
tory).
EFAULT pathname points outside your accessible address
space.
EACCES The parent directory does not allow write permission
to the process, or one of the directories in path-
name did not allow search (execute) permission.
ENAMETOOLONG
pathname was too long.
ENOENT A directory component in pathname does not exist or
is a dangling symbolic link.
ENOTDIR A component used as a directory in pathname is not,
in fact, a directory.
ENOMEM Insufficient kernel memory was available.
EROFS pathname refers to a file on a read-only filesystem.
ELOOP Too many symbolic links were encountered in resolv-
ing pathname.
ENOSPC The device containing pathname has no room for the
new directory.
ENOSPC The new directory cannot be created because the
user's disk quota is exhausted.
CONFORMING TO
SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documents additional
EIO, EMULTIHOP and ENOLINK error conditions; POSIX.1 omits
ELOOP.
There are many infelicities in the protocol underlying NFS.
Some of these affect mkdir.
SEE ALSO
read(2), write(2), fcntl(2), unlink(2), open(2), mknod(2),
mount(2), socket(2), socket(2),