mkdir(2) mkdir(2)
NAME
mkdir - make a directory
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int mkdir(const char *path, modet mode);
DESCRIPTION
mkdir() creates a new directory named by the pathname pointed to by
path. The mode of the new directory is initialized from mode [see
chmod(2) for values of mode]. The protection part of the mode argument
is modified by the process' file creation mask [see umask(2)].
The directory's owner ID is set to the process' effective user ID. The
directory's group ID is set to the process' effective group ID, or if
the SISGID bit is set in the parent directory, then the group ID of
the directory is inherited from the parent. The SISGID bit of the new
directory is inherited from the parent directory.
If path is a symbolic link, it is not followed.
The newly created directory is empty with the exception of entries for
itself and its parent directory.
Upon successful completion, mkdir() marks for update the statime,
stctime and stmtime fields of the directory. Also, the stctime and
stmtime fields of the directory that contains the new entry are
marked for update.
ERRORS
The following error code descriptions are function-specific. You will
find a general description in introprm2(2) or in errno(5).
mkdir() fails and creates no directory if one or more of the following
are true:
EACCES Either a component of the path prefix denies search per-
mission, or write permission is denied on the parent
directory of the directory to be created.
EEXIST The named file already exists.
EFAULT path points outside the allocated address space of the
process.
EIO An I/O error has occurred while accessing the file sys-
tem.
ELOOP Too many symbolic links were encountered in translating
path.
Page 1 Reliant UNIX 5.44 Printed 11/98
mkdir(2) mkdir(2)
EMLINK The maximum number of links to the parent directory
would exceed LINKMAX.
EMULTIHOP Components of path require hopping to multiple remote
machines and the file system type does not allow it.
ENAMETOOLONG The length of the path argument exceeds PATHMAX or the
length of a path component exceeds NAMEMAX.
ENOENT A component of the path prefix does not exist or is a
null pathname.
ENOLINK path points to a remote machine and the link to that
machine is no longer active.
ENOSPC No free space is available on the device containing the
directory.
ENOTDIR A component of the path prefix is not a directory.
EROFS The specified file resides on a read-only file system.
The mkdir() function may fail if:
ENAMETOOLONG Pathname resolution of a symbolic link produced an
intermediate result whose length exceeds PATHMAX.
RESULT
Upon successful completion, a value of 0 is returned. Otherwise, a
value of -1 is returned, and errno is set to indicate the error.
SEE ALSO
chmod(2), mknod(2), umask(2), stat(5), types(5).
Page 2 Reliant UNIX 5.44 Printed 11/98