Computer Science
MKDIR(2) Linux Programmer's Manual MKDIR(2)
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
directory).
EFAULT pathname points outside your accessible address
space.
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) permis-
sion.
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 filesys-
tem.
ELOOP Too many symbolic links were encountered in
resolving 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), close(2), unlink(2), open(2),
mknod(2), stat(2), umask(2), mount(2), socket(2),
socket(2), fopen(3).
Linux 1.0 29 March 1994 1
Back to the index