unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



mkdir(2)							     mkdir(2)



NAME

  mkdir	- Creates a directory

SYNOPSIS

  #include <&lt;sys/stat.h>&gt;

  #include <&lt;sys/types.h>&gt;

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

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  mkdir(): XSH5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

PARAMETERS

  path	    Specifies the name of the new directory.

	    [Tru64 UNIX]  If NFS is installed on your system, this path	can
	    cross into another node.  In this case, the	new directory is
	    created at that node.  If the final	component of the path parame-
	    ter	refers to a symbolic link, the link is traversed and pathname
	    resolution continues.

  mode	    Specifies the mask for the read, write, and	execute	(RWX) flags
	    for	owner, group, and others.

DESCRIPTION

  The mkdir() function creates a new directory with the	following attributes:

    +  The owner ID is set to the process's effective user ID.

    +  The group ID is set to the group	ID of its parent directory.

       [Tru64 UNIX]  However, if the sys_v_mode	tunable	is set,	then the
       group ID	of the file is set to the effective group ID of	the process.
       With exception, if the S_ISGID bit of the parent	directory is set, the
       group ID	of the file is set to the group	ID of the parent directory
       and its S_ISGID bit is set.

       If the group ID of the new file does not	match the effective group of
       the process or one of the supplementary group IDs of the	process, the
       S_ISGID bit of the new file is cleared.

    +  Permission and attribute	bits are set according to the value of the
       mode parameter modified by the process's	file creation mask (see	the
       umask() function).  This	parameter is constructed by logically ORing
       values described	in the sys/mode.h header file.

    +  The new directory is empty, except for .	(dot) and .. (dot-dot).

  To execute the mkdir() function, a process must have search permission to
  get to the parent directory of the path parameter and	write permission in
  the parent directory of the path parameter with respect to all of the
  system's configured access control policies.

  Upon successful completion, the mkdir() function marks the st_atime,
  st_ctime, and	st_mtime fields	of the directory for update, and marks the
  st_ctime and st_mtime	fields of the new directory's parent directory for
  update.

RETURN VALUES

  Upon successful completion, the mkdir() function returns a value of 0
  (zero). If the mkdir() function fails, a value of -1 is returned, and	errno
  is set to indicate the error.

ERRORS

  If the mkdir() function fails, the directory is not created and errno	may
  be set to one	of the following values:

  [EACCES]  Creating the requested directory requires writing in a directory
	    with a mode	that denies write permission, or search	permission is
	    denied on the parent directory of the directory to be created.
	    The	process	does not have write access to the parent directory
	    with respect to one	of the system's	access policies.

  [EDQUOT]  The	directory in which the entry for the new link is being placed
	    cannot be extended because the user's quota	of disk	blocks or i-
	    nodes on the file system containing	the directory is exhausted.

  [EEXIST]  The	named file already exists.

  [EFAULT]  The	path parameter is an invalid address.

  [EINVAL]  The	owner or group ID is not a value that is supported by this
	    implementation.

  [EIO]	    A physical I/O error has occurred.

  [ELOOP]   Too	many links were	encountered in translating path.

  [EMLINK]  The	link count of the parent directory would exceed	LINK_MAX.

  [ENAMETOOLONG]
	    The	length of the path parameter exceeds PATH_MAX or a pathname
	    component is longer	than NAME_MAX.

  [ENOENT]  A component	of the path parameter does not exist or	points to an
	    empty string.

  [ENOMEM]  Unable to allocate a directory buffer.

  [ENOSPC]  The	file system does not contain enough space to hold the con-
	    tents of the new directory or to extend the	parent directory of
	    the	new directory.

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

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

  [Tru64 UNIX]	For NFS	file access, if	the mkdir() function fails, errno may
  also be set to one of	the following values:

  [ENFILE]  Indicates either that the system file table	is full, or that
	    there are too many files currently open in the system.

  [ESTALE]  Indicates a	stale NFS file handle.	A client cannot	make a direc-
	    tory because the server has	unmounted or unexported	the remote
	    directory.

RELATED	INFORMATION

  Commands: chmod(1), mkdir(1),	mknod(8)

  Functions: chmod(2), mknod(2), rmdir(2), umask(2)

  Standards: standards(5)