Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rmdir(2)			 System	Calls			      rmdir(2)

NAME
       rmdir - remove a	directory

SYNOPSIS
       #include	<unistd.h>

       int rmdir(const char *path);

DESCRIPTION
       The  rmdir()  function  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 di-
       rectory open, the space occupied	by the directory is freed and the  di-
       rectory	is no longer accessible. If one	or more	processes have the di-
       rectory 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.

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

RETURN VALUES
       Upon successful completion, 0 is	returned. Otherwise, -1	 is  returned,
       errno  is  set  to  indicate  the error,	and the	named directory	is not
       changed.

ERRORS
       The rmdir() function will fail if:

       EACCES		       Search permission is denied for a component  of
			       the  path  prefix and {PRIV_FILE_DAC_SEARCH} is
			       not asserted in the effective set of the	 call-
			       ing process

			       Write  permission  is  denied  on the directory
			       containing the  directory  to  be  removed  and
			       {PRIV_FILE_DAC_WRITE} is	not asserted.

			       The  parent  directory has the S_ISVTX variable
			       set,  is	  not	owned	by   the   user,   and
			       {PRIV_FILE_OWNER} is not	asserted.

			       The  directory  is not owned by the user	and is
			       not writable by the user.

       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		       The path	argument points	to an illegal address.

       EINVAL		       The directory to	be removed is the current  di-
			       rectory,	or the final component of path is ".".

       EIO		       An  I/O error occurred while accessing the file
			       system.

       ELOOP		       Too many	symbolic  links	 were  encountered  in
			       translating path.

       ENAMETOOLONG	       The   length   of  the  path  argument  exceeds
			       PATH_MAX, or the	length of a path component ex-
			       ceeds  NAME_MAX while _POSIX_NO_TRUNC is	in ef-
			       fect.

       ENOENT		       The named directory does	not exist  or  is  the
			       null pathname.

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

       ENOTDIR		       A  component of the path	prefix is not a	direc-
			       tory.

       EROFS		       The directory entry to be removed is part of  a
			       read-only file system.

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

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Async-Signal-Safe		   |
       +-----------------------------+-----------------------------+

SEE ALSO
       mkdir(1), rm(1),	mkdir(2), attributes(5), privileges(5),	standards(5)

SunOS 5.10			  28 Dec 1996			      rmdir(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=rmdir&sektion=2&manpath=SunOS+5.10>

home | help