*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/rmdir (2)              


rmdir(2)							      rmdir(2)

NAME    [Toc]    [Back]

     rmdir - remove a directory

C SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>

     int rmdir(const char *path);

DESCRIPTION    [Toc]    [Back]

     rmdir removes the directory named by the path name	pointed	to by path.
     The directory must	not have any entries other than	``.'' and ``..''.

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

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

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

     The named directory is removed unless one or more of the following	are

     EACCES		 Search	permission is denied for a component of	the
			 path prefix.

     EACCES		 Write permission is denied on the directory
			 containing the	directory to be	removed.

     EACCES		 The parent directory has the sticky bit set and is
			 not owned by the user;	the directory is not owned by
			 the user and is not writable by the user; the calling
			 process does not have the super-user privilege.

     EBUSY		 The directory to be removed is	the mount point	for a
			 mounted file system.

     EEXIST		 The directory contains	entries	other than those for
			 ``.'' and ``..''.

     EFAULT		 path points outside the process's allocated address

     EINVAL		 The directory to be removed is	the current directory.

									Page 1

rmdir(2)							      rmdir(2)

     EINVAL		 The directory to be removed is	the ``.'' entry	of a

     EIO		 An I/O	error occurred while accessing the file

     ELOOP		 Too many symbolic links were encountered in
			 translating path.

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

     ETIMEDOUT		 A component of	path is	located	on a remote file
			 system	which is not available [see intro(2)].

     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.

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

     ENOENT		 The named directory does not exist or is the null

     EROFS		 The directory entry to	be removed is part of a	readonly
 file system.

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

DIAGNOSTICS    [Toc]    [Back]

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

FILES    [Toc]    [Back]

     Message catalog:  uxcore.abi

SEE ALSO    [Toc]    [Back]

     rm(1), mkdir(1), mkdir(2),	directory(3C)

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
efi_rmdir HP-UX remove an EFI directory
rmdir NetBSD remove a directory file
unlink NetBSD remove directory entry
unlink OpenBSD remove directory entry
unlink IRIX remove directory entry
rmdir OpenBSD remove a directory file
remove OpenBSD remove a file or directory
rm FreeBSD remove directory entries
rmdir HP-UX remove a directory file
unlink FreeBSD remove directory entries
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service