MKDIR(2)

NAME
mkdir - make a directory file

SYNOPSIS
#include <sys/stat.h>

int mkdir(const char *path, mode_t mode);

DESCRIPTION
The directory path is created with the access permissions specified by mode and restricted by the the umask(2) of the calling process. The directory's owner ID is set to the process's effective user ID. The directory's group ID is set to that of the parent directory in which it is created.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS

ENOTDIR
    A component of the path prefix is not a directory.

EINVAL
    The pathname contains a character with the high-order bit set.

ENAMETOOLONG
    A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.

ENOENT
    A component of the path prefix does not exist.

EACCES
    Search permission is denied for a component of the path prefix.

ELOOP
    Too many symbolic links were encountered in translating the pathname.

EPERM
    The path argument contains a byte with the high-order bit set.

EROFS
    The named file resides on a read-only file system.

EEXIST
    The named file exists.

ENOSPC
    The directory in which the entry for the new directory is being placed cannot be extended because there is no space left on the file system containing the directory.

ENOSPC
    The new directory cannot be created because there there is no space left on the file system that will contain the directory.

ENOSPC
    There are no free inodes on the file system on which the directory is being created.

EDQUOT
    The directory in which the entry for the new directory is being placed cannot be extended because the user's quota of disk blocks on the file system containing the directory has been exhausted.

EDQUOT
    The new directory cannot be created because the user's quota of disk blocks on the file system that will contain the directory has been exhausted.

EDQUOT
    The user's quota of inodes on the file system on which the directory is being created has been exhausted.

EIO An I/O error occurred while making the directory entry or allocating the inode.

EIO An I/O error occurred while reading from or writing to the file system.

EFAULT
    Path points outside the process's allocated address space.

CONFORMS TO
POSIX, BSD 4.3

SEE ALSO
chmod(2), stat(2), umask(2)