mkdir(2) mkdir(2)
NAME [Toc] [Back]
mkdir - make a directory file
SYNOPSIS [Toc] [Back]
#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);
DESCRIPTION [Toc] [Back]
The mkdir() system call creates a new directory file named by path.
The file permission bits of the new directory are initialized from
mode, and are modified by the process's file mode creation mask. For
each bit set in the process's file mode creation mask, the
corresponding bit in the new directory's mode is cleared (see
umask(2)).
The directory's owner ID is set to the process's effective-user-ID.
If the set-group-ID bit of the parent directory is set, the
directory's group ID is set to the group ID of the parent directory.
Otherwise, the directory's group ID is set to the process's
effective-group-ID. The set-group-ID bit of the new directory is set
to the same value as the set-group-ID bit of the parent directory.
Symbolic constants defining the access permission bits are found in
the <sys/stat.h> header and are used to construct the argument mode.
The value of the argument mode is the bitwise inclusive OR of the
values of the desired permissions.
S_IRUSR Read by owner.
S_IWUSR Write by owner.
S_IXUSR Execute (search) by owner.
S_IRGRP Read by group.
S_IWGRP Write by group.
S_IXGRP Execute (search) by group.
S_IROTH Read by others (that is, anybody else).
S_IWOTH Write by others.
S_IXOTH Execute (search) by others.
Access Control Lists - HFS File Systems Only [Toc] [Back]
On HFS file systems implementing access control lists, the directory
is created with three base ACL entries, corresponding to the file
access permission bits (see acl(5)).
Access Control Lists - JFS File Systems Only [Toc] [Back]
On JFS file systems that support access control lists, optional ACL
entries are created corresponding to the parent directory's default
ACL entries. Also, the parent directory's default ACL entries are
copied as the new directory's default ACL entries (see aclv(5)).
RETURN VALUE [Toc] [Back]
mkdir() returns one of the following values:
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
mkdir(2) mkdir(2)
0 Successful completion.
-1 Failure. An error code is stored in errno.
ERRORS [Toc] [Back]
If mkdir() fails, no directory is created and errno is set to one of
the following values:
[EACCES] A component of the path prefix denies search
permission.
[EACCES] The parent directory of the new directory denies write
permission.
[EEXIST] The named file already exists.
[EFAULT] path points outside the process's allocated address
space. The reliable detection of this error is
implementation dependent.
[EIO] An I/O error occurred while writing to the file system.
[ELOOP] Too many symbolic links are encountered in translating
the path name.
[EMLINK] The maximum number of links to the parent directory,
{LINK_MAX}, would be exceeded.
[ENAMETOOLONG] The length of the specified path name exceeds PATH_MAX
bytes, or the length of a component of the path name
exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in
effect.
[ENOENT] A component of the path prefix does not exist.
[ENOSPC] Not enough space on the file system.
[ENOTDIR] A component of the path prefix is not a directory.
[EROFS] The named file resides on a read-only file system.
[EDQUOT] User's disk quota block or inode limit has been reached
for this file system.
AUTHOR [Toc] [Back]
mkdir() was developed by the University of California, Berkeley.
SEE ALSO [Toc] [Back]
acl(2), chmod(2), setacl(2), stat(2), umask(2), acl(5), aclv(5),
limits(5).
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
mkdir(2) mkdir(2)
STANDARDS CONFORMANCE [Toc] [Back]
mkdir(): AES, SVID2, SVID3, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003 [ Back ] |