###

###

###

###

###

###

###

###

###

###

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

    NAME
           mkdir - create a directory

    SYNOPSIS
           #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) permission.

           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.

    Linux 1.0                 29 March 1994                         1

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

           EROFS  pathname refers to a file on a read-only filesystem
                  and write access was requested.

           ELOOP  pathname contains a reference to  a  circular  sym-
                  bolic link, ie a symbolic link whose expansion con-
                  tains a reference to itself.

           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
    BUGS
           In some older versions of Linux (for example, 0.99pl7) all
           the normal filesystems sometime allow the creation of  two
           files  in  the  same  directory  with the same name.  This
           occurs only rarely and only on a  heavily  loaded  system.
           It  is  believed  that  this  bug  was  fixed in the Minix
           filesystem in Linux 0.99pl8 pre-release; and it  is  hoped
           that  it was fixed in the other filesystems shortly after-
           wards.

           There are many infelicities  in  the  protocol  underlying
           NFS.

### SEE ALSO

read, write, fcntl, close, unlink, open, mknod, stat, umask, mount, socket, socket,

###

    Linux 1.0                 29 March 1994                         2

Top | Master Index | Keywords | Functions

This manual page was brought to you by mjl_man V-2.0