unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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



rmdir(2)							     rmdir(2)



NAME
  rmdir	- Removes a directory file

SYNOPSIS

  #include <&lt;unistd.h>&gt;

  int rmdir (
	  const	char *path );

STANDARDS

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

  rmdir(): XSH5.0

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

PARAMETERS

  path	    Specifies the directory pathname.  The final component of the
	    path parameter cannot be a symbolic	link.

DESCRIPTION

  The rmdir() function removes the directory specified by the path parameter.
  The directory	is removed only	if it is an empty directory.

  For the rmdir() function to execute successfully, the	calling	process	must
  have write access to the parent directory of the path	parameter with
  respect to all of the	system's access	control	policies.

  If the directory's link count	becomes	0 (zero) and no	process	has the
  directory open, the space occupied by	the directory is freed and the direc-
  tory is no longer accessible.	 If one	or more	processes have the directory
  open when the	last link is removed, the . (dot) and .. (dot-dot) entries,
  if present, are removed before the rmdir() function returns, and no new
  entries may be created in the	directory.  However, the directory is not
  removed until	all references to the directory	have been closed.

  Upon successful completion, the rmdir() function marks the st_ctime and
  st_mtime fields of the parent	directory for update.

RETURN VALUES

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



ERRORS

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

  [EACCES]  Search permission is denied	on a component of the path parameter,
	    or write permission	is denied on the parent	directory of the
	    directory to be removed.

  [EACCES]  The	process	does not have write access to the parent directory
	    with respect to one	of the system's	access control policies.

  [EBUSY]   The	directory is in	use as either the mount	point for a file sys-
	    tem	or the current directory of the	process	that issued the
	    rmdir() function.

  [EEXIST]  The	directory named	by the path parameter is not empty.

  [EFAULT]  The	path parameter is an invalid address.

  [EIO]	    While reading from or writing to the file system, an I/O error
	    occurred.

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

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

  [ENOENT]  The	directory named	by the path parameter does not exist or	is an
	    empty string.

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

  [EPERM]   The	S_ISVTX	flag is	set on the parent directory of the directory
	    to be removed, and the caller is not the file owner.

  [EROFS]   The	directory named	by the path parameter resides on a read-only
	    file system.

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

  [EINVAL]  The	file position pointer associated with the filedes parameter
	    was	negative.

  [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.	An opened file was deleted by
	    the	server or another client; a client cannot open a file because
	    the	server has unmounted or	unexported the remote directory; or
	    the	directory that contains	an opened file was either unmounted
	    or unexported by the server.

RELATED	INFORMATION

  Functions: chmod(2), mkdir(2), mknod(2), rename(2), umask(2),	unlink(2),
  mkfifo(3), remove(3)

  Standards: standards(5)