xref: /openbsd-src/lib/libc/sys/rmdir.2 (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1.\"	$OpenBSD: rmdir.2,v 1.7 1999/06/29 14:10:16 aaron Exp $
2.\"	$NetBSD: rmdir.2,v 1.7 1995/02/27 12:36:30 cgd Exp $
3.\"
4.\" Copyright (c) 1983, 1991, 1993
5.\"	The Regents of the University of California.  All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgement:
17.\"	This product includes software developed by the University of
18.\"	California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"     @(#)rmdir.2	8.1 (Berkeley) 6/4/93
36.\"
37.Dd June 4, 1993
38.Dt RMDIR 2
39.Os
40.Sh NAME
41.Nm rmdir
42.Nd remove a directory file
43.Sh SYNOPSIS
44.Fd #include <unistd.h>
45.Ft int
46.Fn rmdir "const char *path"
47.Sh DESCRIPTION
48.Fn rmdir
49removes a directory file
50whose name is given by
51.Fa path .
52The directory must not have any entries other
53than
54.Ql \&.
55and
56.Ql \&.. .
57.Sh RETURN VALUES
58A 0 is returned if the remove succeeds; otherwise a \-1 is
59returned and an error code is stored in the global location
60.Va errno .
61.Sh ERRORS
62The named file is removed unless:
63.Bl -tag -width Er
64.It Bq Er ENOTDIR
65A component of the path is not a directory.
66.It Bq Er ENAMETOOLONG
67A component of a pathname exceeded
68.Dv {NAME_MAX}
69characters, or an entire path name exceeded
70.Dv {PATH_MAX}
71characters.
72.It Bq Er ENOENT
73The named directory does not exist.
74.It Bq Er ELOOP
75Too many symbolic links were encountered in translating the pathname.
76.It Bq Er ENOTEMPTY
77The named directory contains files other than
78.Ql \&.
79and
80.Ql \&..
81in it.
82.It Bq Er EACCES
83Search permission is denied for a component of the path prefix.
84.It Bq Er EACCES
85Write permission is denied on the directory containing the link
86to be removed.
87.It Bq Er EPERM
88The directory containing the directory to be removed is marked sticky,
89and neither the containing directory nor the directory to be removed
90are owned by the effective user ID.
91.It Bq Er EBUSY
92The directory to be removed is the mount point
93for a mounted file system or the current directory.
94.It Bq Er EIO
95An I/O error occurred while deleting the directory entry
96or deallocating the inode.
97.It Bq Er EROFS
98The directory entry to be removed resides on a read-only file system.
99.It Bq Er EFAULT
100.Fa path
101points outside the process's allocated address space.
102.El
103.Sh SEE ALSO
104.Xr mkdir 2 ,
105.Xr unlink 2
106.Sh HISTORY
107The
108.Fn rmdir
109function call appeared in
110.Bx 4.2 .
111