Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkdir(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

mknod(2)

umask(2)

stat(5)

types(5)

mkdir(2)                                                           mkdir(2)

NAME
     mkdir - make a directory

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

     int mkdir(const char *path, modet mode);

DESCRIPTION
     mkdir() creates a new directory named by the pathname pointed to by
     path. The mode of the new directory is initialized from mode [see
     chmod(2) for values of mode]. The protection part of the mode argument
     is modified by the process' file creation mask [see umask(2)].

     The directory's owner ID is set to the process' effective user ID. The
     directory's group ID is set to the process' effective group ID, or if
     the SISGID bit is set in the parent directory, then the group ID of
     the directory is inherited from the parent. The SISGID bit of the new
     directory is inherited from the parent directory.

     If path is a symbolic link, it is not followed.

     The newly created directory is empty with the exception of entries for
     itself and its parent directory.

     Upon successful completion, mkdir() marks for update the statime,
     stctime and stmtime fields of the directory. Also, the stctime and
     stmtime fields of the directory that contains the new entry are
     marked for update.

ERRORS
     The following error code descriptions are function-specific. You will
     find a general description in introprm2(2) or in errno(5).

     mkdir() fails and creates no directory if one or more of the following
     are true:

     EACCES        Either a component of the path prefix denies search per-
                   mission, or write permission is denied on the parent
                   directory of the directory to be created.

     EEXIST        The named file already exists.

     EFAULT        path points outside the allocated address space of the
                   process.

     EIO           An I/O error has occurred while accessing the file sys-
                   tem.

     ELOOP         Too many symbolic links were encountered in translating
                   path.



Page 1                       Reliant UNIX 5.44                Printed 11/98

mkdir(2)                                                           mkdir(2)

     EMLINK        The maximum number of links to the parent directory
                   would exceed LINKMAX.

     EMULTIHOP     Components of path require hopping to multiple remote
                   machines and the file system type does not allow it.

     ENAMETOOLONG  The length of the path argument exceeds PATHMAX or the
                   length of a path component exceeds NAMEMAX.

     ENOENT        A component of the path prefix does not exist or is a
                   null pathname.

     ENOLINK       path points to a remote machine and the link to that
                   machine is no longer active.

     ENOSPC        No free space is available on the device containing the
                   directory.

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

     EROFS         The specified file resides on a read-only file system.

     The mkdir() function may fail if:

     ENAMETOOLONG  Pathname resolution of a symbolic link produced an
                   intermediate result whose length exceeds PATHMAX.

RESULT
     Upon successful completion, a value of 0 is returned. Otherwise, a
     value of -1 is returned, and errno is set to indicate the error.

SEE ALSO
     chmod(2), mknod(2), umask(2), stat(5), types(5).





















Page 2                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026