NAME
mkdir - Creates a directory
SYNOPSIS
#include <sys/stat.h>
#include <sys/types.h>
int mkdir (
const char *path,
mode_t mode );
PARAMETERS
path Specifies the name of the new directory. If NFS
is installed on your system, this path can cross
into another node. In this case, the new direc-
tory is created at that node. If the final com-
ponent of the path parameter refers to a symbolic
link, the link is traversed and pathname resolu-
tion continues.
mode Specifies the mask for the read, write, and exe-
cute (RWX) flags for owner, group, and others.
DESCRIPTION
The mkdir() function creates a new directory with the fol-
lowing attributes:
o The owner ID is set to the process's effective user ID.
o The group ID is set to the group ID of its parent
directory.
o Permission and attribute bits are set according to the
value of the mode parameter modified by the process's
file creation mask (see the umask() function). This
parameter is constructed by logically ORing values
described in the sys/stat.h header file.
o The new directory is empty, except for . (dot) and ..
(dot-dot).
To execute the mkdir() function, a process must have search
permission to get to the parent directory of the path param-
eter and write permission in the parent directory of the
path parameter with respect to all of the system's config-
ured access control policies.
Upon successful completion, the mkdir() function marks the
st_atime, st_ctime, and st_mtime fields of the directory for
update, and marks the st_ctime and st_mtime fields of the
new directory's parent directory for update.
NOTES
AES Support Level:
Full use
RETURN VALUES
Upon successful completion, the mkdir() function returns a
value of 0 (zero). If the mkdir() function fails, a value of
-1 is returned, and errno is set to indicate the error.
ERRORS
If the mkdir() function fails, the directory is not created
and errno may be set to one of the following values:
[EACCES] Creating the requested directory requires writing
in a directory with a mode that denies write per-
mission, or search permission is denied on the
parent directory of the directory to be created.
[EEXIST] The named file already exists.
[EMLINK] The link count of the parent directory would
exceed LINK_MAX.
[EIO] A physical I/O error has occurred.
[ELOOP] Too many links were encountered in translating
path.
[EFAULT] The path parameter is an invalid address.
[ENAMETOOLONG]
The length of the path parameter exceeds PATH_MAX
or a pathname component is longer than NAME_MAX.
[ENOENT] A component of the path parameter does not exist
or points to an empty string.
[EROFS] The named file resides on a read-only file system.
[ENOSPC] The file system does not contain enough space to
hold the contents of the new directory or to
extend the parent directory of the new directory.
[EDQUOT] The directory in which the entry for the new link
is being placed cannot be extended because the
user's quota of disk blocks or i-nodes on the file
system containing the directory is exhausted.
[ENOTDIR] A component of the path prefix is not a directory.
RELATED INFORMATION
Functions: chmod(2), mknod(2), rmdir(2), umask(2)
Commands: chmod(1), mkdir(1), mknod(8)
Acknowledgement and Disclaimer