mkdir - create a directory


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

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


     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.


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


     EEXIST  pathname already exists (not necessarily as a direc-

     EFAULT  pathname  points  outside  your  accessible  address

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

             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 filesystem.

     ELOOP   Too many symbolic links were encountered in  resolv-
             ing 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.


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

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


     read(2), write(2), fcntl(2), unlink(2),  open(2),  mknod(2),
     mount(2), socket(2), socket(2),