aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/sys/rename.2
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/sys/rename.2')
-rw-r--r--lib/libc/sys/rename.2342
1 files changed, 0 insertions, 342 deletions
diff --git a/lib/libc/sys/rename.2 b/lib/libc/sys/rename.2
deleted file mode 100644
index c67f6ebdc19a..000000000000
--- a/lib/libc/sys/rename.2
+++ /dev/null
@@ -1,342 +0,0 @@
-.\" Copyright (c) 1983, 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)rename.2 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD$
-.\"
-.Dd March 30, 2020
-.Dt RENAME 2
-.Os
-.Sh NAME
-.Nm rename
-.Nd change the name of a file
-.Sh LIBRARY
-.Lb libc
-.Sh SYNOPSIS
-.In stdio.h
-.Ft int
-.Fn rename "const char *from" "const char *to"
-.Ft int
-.Fn renameat "int fromfd" "const char *from" "int tofd" "const char *to"
-.Sh DESCRIPTION
-The
-.Fn rename
-system call
-causes the link named
-.Fa from
-to be renamed as
-.Fa to .
-If
-.Fa to
-exists, it is first removed.
-Both
-.Fa from
-and
-.Fa to
-must be of the same type (that is, both directories or both
-non-directories), and must reside on the same file system.
-.Pp
-The
-.Fn rename
-system call
-guarantees that if
-.Fa to
-already exists, an instance of
-.Fa to
-will always exist, even if the system should crash in
-the middle of the operation.
-.Pp
-If the final component of
-.Fa from
-is a symbolic link,
-the symbolic link is renamed,
-not the file or directory to which it points.
-.Pp
-If
-.Fa from
-and
-.Fa to
-resolve to the same directory entry, or to different directory
-entries for the same existing file,
-.Fn rename
-returns success without taking any further action.
-.Pp
-The
-.Fn renameat
-system call is equivalent to
-.Fn rename
-except in the case where either
-.Fa from
-or
-.Fa to
-specifies a relative path.
-If
-.Fa from
-is a relative path, the file to be renamed is located
-relative to the directory associated with the file descriptor
-.Fa fromfd
-instead of the current working directory.
-If the
-.Fa to
-is a relative path, the same happens only relative to the directory associated
-with
-.Fa tofd .
-If the
-.Fn renameat
-is passed the special value
-.Dv AT_FDCWD
-in the
-.Fa fromfd
-or
-.Fa tofd
-parameter, the current working directory is used in the determination
-of the file for the respective path parameter.
-.\".Sh CAVEAT
-.\"The system can deadlock if a loop in the file system graph is present.
-.\"This loop takes the form of an entry in directory
-.\".Pa a ,
-.\"say
-.\".Pa a/foo ,
-.\"being a hard link to directory
-.\".Pa b ,
-.\"and an entry in
-.\"directory
-.\".Pa b ,
-.\"say
-.\".Pa b/bar ,
-.\"being a hard link
-.\"to directory
-.\".Pa a .
-.\"When such a loop exists and two separate processes attempt to
-.\"perform
-.\".Ql rename a/foo b/bar
-.\"and
-.\".Ql rename b/bar a/foo ,
-.\"respectively,
-.\"the system may deadlock attempting to lock
-.\"both directories for modification.
-.\"Hard links to directories should be
-.\"replaced by symbolic links by the system administrator.
-.Sh RETURN VALUES
-.Rv -std rename
-.Sh ERRORS
-The
-.Fn rename
-system call
-will fail and neither of the argument files will be
-affected if:
-.Bl -tag -width Er
-.It Bq Er ENAMETOOLONG
-A component of either pathname exceeded 255 characters,
-or the entire length of either path name exceeded 1023 characters.
-.It Bq Er ENOENT
-A component of the
-.Fa from
-path does not exist,
-or a path prefix of
-.Fa to
-does not exist.
-.It Bq Er EACCES
-A component of either path prefix denies search permission.
-.It Bq Er EACCES
-The requested link requires writing in a directory with a mode
-that denies write permission.
-.It Bq Er EACCES
-The directory pointed at by the
-.Fa from
-argument denies write permission, and the operation would move
-it to another parent directory.
-.It Bq Er EPERM
-The file pointed at by the
-.Fa from
-argument has its immutable, undeletable or append-only flag set, see the
-.Xr chflags 2
-manual page for more information.
-.It Bq Er EPERM
-The parent directory of the file pointed at by the
-.Fa from
-argument has its immutable or append-only flag set.
-.It Bq Er EPERM
-The parent directory of the file pointed at by the
-.Fa to
-argument has its immutable flag set.
-.It Bq Er EPERM
-The directory containing
-.Fa from
-is marked sticky,
-and neither the containing directory nor
-.Fa from
-are owned by the effective user ID.
-.It Bq Er EPERM
-The file pointed at by the
-.Fa to
-argument
-exists,
-the directory containing
-.Fa to
-is marked sticky,
-and neither the containing directory nor
-.Fa to
-are owned by the effective user ID.
-.It Bq Er ELOOP
-Too many symbolic links were encountered in translating either pathname.
-.It Bq Er ENOTDIR
-A component of either path prefix is not a directory.
-.It Bq Er ENOTDIR
-The
-.Fa from
-argument
-is a directory, but
-.Fa to
-is not a directory.
-.It Bq Er EISDIR
-The
-.Fa to
-argument
-is a directory, but
-.Fa from
-is not a directory.
-.It Bq Er EXDEV
-The link named by
-.Fa to
-and the file named by
-.Fa from
-are on different logical devices (file systems).
-Note that this error
-code will not be returned if the implementation permits cross-device
-links.
-.It Bq Er ENOSPC
-The directory in which the entry for the new name is being placed
-cannot be extended because there is no space left on the file
-system containing the directory.
-.It Bq Er EDQUOT
-The directory in which the entry for the new name
-is being placed cannot be extended because the
-user's quota of disk blocks on the file system
-containing the directory has been exhausted.
-.It Bq Er EIO
-An I/O error occurred while making or updating a directory entry.
-.It Bq Er EINTEGRITY
-Corrupted data was detected while reading from the file system.
-.It Bq Er EROFS
-The requested link requires writing in a directory on a read-only file
-system.
-.It Bq Er EFAULT
-Path
-points outside the process's allocated address space.
-.It Bq Er EINVAL
-The
-.Fa from
-argument
-is a parent directory of
-.Fa to ,
-or an attempt is made to rename
-.Ql .\&
-or
-.Ql \&.. .
-.It Bq Er ENOTEMPTY
-The
-.Fa to
-argument
-is a directory and is not empty.
-.It Bq Er ECAPMODE
-.Fn rename
-was called and the process is in capability mode.
-.El
-.Pp
-In addition to the errors returned by the
-.Fn rename ,
-the
-.Fn renameat
-may fail if:
-.Bl -tag -width Er
-.It Bq Er EBADF
-The
-.Fa from
-argument does not specify an absolute path and the
-.Fa fromfd
-argument is neither
-.Dv AT_FDCWD
-nor a valid file descriptor open for searching, or the
-.Fa to
-argument does not specify an absolute path and the
-.Fa tofd
-argument is neither
-.Dv AT_FDCWD
-nor a valid file descriptor open for searching.
-.It Bq Er ENOTDIR
-The
-.Fa from
-argument is not an absolute path and
-.Fa fromfd
-is neither
-.Dv AT_FDCWD
-nor a file descriptor associated with a directory, or the
-.Fa to
-argument is not an absolute path and
-.Fa tofd
-is neither
-.Dv AT_FDCWD
-nor a file descriptor associated with a directory.
-.It Bq Er ECAPMODE
-.Dv AT_FDCWD
-is specified and the process is in capability mode.
-.It Bq Er ENOTCAPABLE
-.Fa path
-is an absolute path or contained a ".." component leading to a directory
-outside of the directory hierarchy specified by
-.Fa fromfd
-or
-.Fa tofd .
-.It Bq Er ENOTCAPABLE
-The
-.Fa fromfd
-file descriptor lacks the
-.Dv CAP_RENAMEAT_SOURCE
-right, or the
-.Fa tofd
-file descriptor lacks the
-.Dv CAP_RENAMEAT_TARGET
-right.
-.El
-.Sh SEE ALSO
-.Xr chflags 2 ,
-.Xr open 2 ,
-.Xr symlink 7
-.Sh STANDARDS
-The
-.Fn rename
-system call is expected to conform to
-.St -p1003.1-96 .
-The
-.Fn renameat
-system call follows The Open Group Extended API Set 2 specification.
-.Sh HISTORY
-The
-.Fn renameat
-system call appeared in
-.Fx 8.0 .