Section: Linux Programmer's Manual (2)
Return to Main Contents
renameat - rename a file relative to directory file descriptors
#include <fcntl.h> /* Definition of AT_* constants */
int renameat(int olddirfd, const char *oldpath,
int newdirfd, const char *newpath);
Feature Test Macro Requirements for glibc (see
- Since glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
system call operates in exactly the same way as
except for the differences described in this manual page.
If the pathname given in
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
(rather than relative to the current working directory of
the calling process, as is done by
for a relative pathname).
is relative and
is the special value
is interpreted relative to the current working
directory of the calling process (like
is absolute, then
The interpretation of
is as for
except that a relative pathname is interpreted relative
to the directory referred to by the file descriptor
On error, -1 is returned and
is set to indicate the error.
The same errors that occur for
can also occur for
The following additional errors can occur for
is not a valid file descriptor.
is relative and
is a file descriptor referring to a file other than a directory;
or similar for
was added to Linux in kernel 2.6.16.
for an explanation of the need for
This page is part of release 3.27 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- RETURN VALUE
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.