Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Apropos / Subsearch:
optional field

mkdir(2)                         System Calls                         mkdir(2)

       mkdir - make a directory

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

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

       The  mkdir()  function  creates a  new directory named by the path name
       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's  file  creation  mask   (see

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

       If path names a symbolic link, mkdir() fails and sets errno to EEXIST.

       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  st_atime,
       st_ctime  and  st_mtime fields of the directory. Also, the st_ctime and
       st_mtime fields of the directory that contains the new entry are marked
       for update.

       Upon  successful  completion, 0 is returned. Otherwise, -1 is returned,
       no directory is created, and  errno is set to indicate the error.

       The mkdir() function will fail if:

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

       EDQUOT          The directory where the new file entry is being  placed
                       cannot  be  extended  because  the user's quota of disk
                       blocks on that file system has been exhausted; the  new
                       directory cannot be created because the user's quota of
                       disk blocks on that file system has been exhausted;  or
                       the user's quota of inodes on the file system where the
                       file is being created has been exhausted.

       EEXIST          The named file already exists.

       EFAULT          The path argument points to an illegal address.

       EINVAL          An attempt was made to  create  an  extended  attribute
                       that is a directory.

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

       ELOOP           Too many symbolic links were encountered in translating

       ELOOP           A loop exists in symbolic links encountered during res-
                       olution of the path argument.

       EMLINK          The maximum number of links  to  the  parent  directory
                       would be exceeded.

       ENAMETOOLONG    The  length  of  the path argument exceeds PATH_MAX, or
                       the length of a path component exceeds  NAME_MAX  while
                       _POSIX_NO_TRUNC is in effect.

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

       ENOLINK         The path argument 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

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

       EROFS           The path prefix resides on a read-only file system.

       The mkdir() function may fail if:

       ENAMETOOLONG    As a result of encountering a symbolic link in  resolu-
                       tion  of  the  path argument, the length of the substi-
                       tuted pathname string exceeded {PATH_MAX}.

       Example 1: Create a directory.

       The following example demonstrates how  to  create  a  directory  named
       /home/cnd/mod1,  with read, write, and search permissions for owner and
       group, and with read and search permissions for others.

       #include <sys/types.h>
       #include <sys/stat.h>
       int status;
       status = mkdir("/home/cnd/mod1", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);

       See attributes(5) for descriptions of the following attributes:

       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).   ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStan-
       dard MT-LevelAsync-Signal-Safe

       chmod(2),    mknod(2),    umask(2),    mkdirp(3GEN),     stat.h(3HEAD),
       attributes(5), standards(5)

SunOS 5.10                        29 Jul 2004                         mkdir(2)