NAME

     mkdir - make a directory file


SYNOPSIS

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

     int mkdir(const char *path, mode_t mode)


DESCRIPTION

     Mkdir creates a new directory file with name path.  The mode
     of  the  new file is initialized from mode.  (The protection
     part of the mode is modified by the process's mode mask; see
     umask(2)).

     The directory's owner ID is set to the  process's  effective
     user  ID.   The  directory's  group ID is set to that of the
     parent directory in which it is created.

     The low-order 9 bits of mode are modified by  the  process's
     file  mode creation mask: all bits set in the process's file
     mode creation mask are cleared.  See umask(2).


RETURN VALUE

     A 0 return value indicates success.  A -1 return value indi-
     cates an error, and an error code is stored in errno.


ERRORS

     Mkdir will fail and no directory will be created if:

     [ENOTDIR]      A component of  the  path  prefix  is  not  a
                    directory.

     [ENAMETOOLONG] The path name exceeds PATH_MAX characters.

     [ENOENT]       A component  of  the  path  prefix  does  not
                    exist.

     [EACCES]       Search permission is denied for  a  component
                    of the path prefix.

     [ELOOP]        Too many symbolic links were  encountered  in
                    translating the pathname.  (Minix-vmd)

     [EROFS]        The named file resides on  a  read-only  file
                    system.

     [EEXIST]       The named file exists.

     [ENOSPC]       The directory in which the entry for the  new
                    directory  is being placed cannot be extended
                    because there is no space left  on  the  file
                    system containing the directory.

     [ENOSPC]       The new directory cannot be  created  because
                    there there is no space left on the file sys-
                    tem that will contain the directory.

     [ENOSPC]       There are no free inodes on the  file  system
                    on which the directory is being created.

     [EIO]          An I/O error occurred while making the direc-
                    tory entry or allocating the inode.

     [EIO]          An I/O error occurred while reading  from  or
                    writing to the file system.

     [EFAULT]       Path points outside the  process's  allocated
                    address space.


SEE ALSO

     chmod(2), stat(2), umask(2).