summaryrefslogtreecommitdiffstats
path: root/man2/mkdir.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/mkdir.2')
-rw-r--r--man2/mkdir.2127
1 files changed, 127 insertions, 0 deletions
diff --git a/man2/mkdir.2 b/man2/mkdir.2
new file mode 100644
index 000000000..d02811f3e
--- /dev/null
+++ b/man2/mkdir.2
@@ -0,0 +1,127 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
+.\" 1993 Michael Haardt
+.\" 1993,1994 Ian Jackson.
+.\" You may distribute it under the terms of the GNU General
+.\" Public Licence. It comes with NO WARRANTY.
+.\"
+.TH MKDIR 2 2003-12-09 "Linux 2.4" "Linux Programmer's Manual"
+.SH NAME
+mkdir \- create a directory
+.SH SYNOPSIS
+.nf
+.B #include <sys/stat.h>
+.B #include <sys/types.h>
+.\" .B #include <unistd.h>
+.sp
+.BI "int mkdir(const char *" pathname ", mode_t " mode );
+.fi
+.SH DESCRIPTION
+.B mkdir
+attempts to create a directory named
+.IR pathname .
+
+The parameter
+.I mode
+specifies the permissions to use. It is modified by the process's
+.I umask
+in the usual way: the permissions of the created directory are
+.RI ( mode " & ~" umask " & 0777)."
+Other mode bits of the created directory depend on the operating system.
+For Linux, see below.
+
+The newly created directory will be owned by the effective user ID 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 group ID of the process.
+
+If the parent directory has the set group ID bit set then so will the
+newly created directory.
+
+.SH "RETURN VALUE"
+.BR mkdir
+returns zero on success, or \-1 if an error occurred (in which case,
+.I errno
+is set appropriately).
+.SH ERRORS
+.TP
+.B EACCES
+The parent directory does not allow write permission to the process,
+or one of the directories in
+.IR pathname
+did not allow search permission.
+(See also
+.BR path_resolution (2).)
+.TP
+.B EEXIST
+.I pathname
+already exists (not necessarily as a directory).
+This includes the case where
+.I pathname
+is a symbolic link, dangling or not.
+.TP
+.B EFAULT
+.IR pathname " points outside your accessible address space."
+.TP
+.B ELOOP
+Too many symbolic links were encountered in resolving
+.IR pathname .
+.TP
+.B ENAMETOOLONG
+.IR pathname " was too long."
+.TP
+.B ENOENT
+A directory component in
+.I pathname
+does not exist or is a dangling symbolic link.
+.TP
+.B ENOMEM
+Insufficient kernel memory was available.
+.TP
+.B ENOSPC
+The device containing
+.I pathname
+has no room for the new directory.
+.TP
+.B ENOSPC
+The new directory cannot be created because the user's disk quota is
+exhausted.
+.TP
+.B ENOTDIR
+A component used as a directory in
+.I pathname
+is not, in fact, a directory.
+.TP
+.B EPERM
+The filesystem containing
+.IR pathname
+does not support the creation of directories.
+.TP
+.B EROFS
+.I pathname
+refers to a file on a read-only filesystem.
+.SH "CONFORMING TO"
+SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documents additional EIO, EMULTIHOP
+and ENOLINK error conditions; POSIX.1 omits ELOOP.
+.SH NOTES
+Under Linux apart from the permission bits, only the S_ISVTX mode bit
+is honored. That is, under Linux the created directory actually gets mode
+.RI ( mode " & ~" umask " & 01777)."
+See also
+.BR stat (2).
+.PP
+There are many infelicities in the protocol underlying NFS. Some
+of these affect
+.BR mkdir .
+.SH "SEE ALSO"
+.BR mkdir (1),
+.BR chmod (2),
+.BR mknod (2),
+.BR mount (2),
+.BR path_resolution (2),
+.BR rmdir (2),
+.BR stat (2),
+.BR umask (2),
+.BR unlink (2)