MKDIR(2)            Linux Programmer's Manual            MKDIR(2)

NAME
       mkdir - create a directory

SYNOPSIS
       #include <sys/stat.h>
       #include <sys/types.h>
       #include <fcntl.h>
       #include <unistd.h>

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

DESCRIPTION
       mkdir attempts to create a directory named pathname.

       mode  specifies  the permissions to use. It is modified by
       the process's umask in the usual way: the  permissions  of
       the created file are (mode & ~umask).

       The newly created directory will be owned by the effective
       uid 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 gid of the process.

       If the parent directory has the set group id bit set  then
       so will the newly created directory.

RETURN VALUE
       mkdir  returns zero on success, or -1 if an error occurred
       (in which case, errno is set appropriately).

ERRORS
       EEXIST  pathname already  exists  (not  necessarily  as  a
               directory).

       EFAULT  pathname  points  outside  your accessible address
               space.

       EACCES  The parent directory does not allow write  permis-
               sion  to the process, or one of the directories in
               pathname did not allow  search  (execute)  permis-
               sion.

       ENAMETOOLONG
               pathname was too long.

       ENOENT  A  directory  component in pathname does not exist
               or is a dangling symbolic link.

       ENOTDIR A component used as a  directory  in  pathname  is
               not, in fact, a directory.

       ENOMEM  Insufficient kernel memory was available.

       EROFS   pathname  refers to a file on a read-only filesys-
               tem.

       ELOOP   Too  many  symbolic  links  were  encountered   in
               resolving pathname.

       ENOSPC  The device containing pathname has no room for the
               new directory.

       ENOSPC  The new directory cannot be  created  because  the
               user's disk quota is exhausted.

CONFORMING TO
       SVr4, POSIX, BSD, SYSV, X/OPEN.  SVr4 documents additional
       EIO, EMULTIHOP and ENOLINK error conditions; POSIX.1 omits
       ELOOP.

       There  are  many  infelicities  in the protocol underlying
       NFS.  Some of these affect mkdir.

SEE ALSO
       read(2), write(2), fcntl(2), close(2), unlink(2), open(2),
       mknod(2),    stat(2),   umask(2),   mount(2),   socket(2),
       socket(2), fopen(3).

Linux 1.0                 29 March 1994                         1