diff --git a/man2/unlinkat.2 b/man2/unlinkat.2 index e4af5127d..4921f7313 100644 --- a/man2/unlinkat.2 +++ b/man2/unlinkat.2 @@ -1,173 +1 @@ -.\" This manpage is Copyright (C) 2006, Michael Kerrisk -.\" -.\" %%%LICENSE_START(VERBATIM) -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" %%%LICENSE_END -.\" -.TH UNLINKAT 2 2014-01-22 "Linux" "Linux Programmer's Manual" -.SH NAME -unlinkat \- remove a directory entry relative to a directory file descriptor -.SH SYNOPSIS -.nf -.B #include /* Definition of AT_* constants */ -.B #include -.sp -.BI "int unlinkat(int " dirfd ", const char *" pathname ", int " flags ); -.fi -.sp -.in -4n -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.in -.sp -.BR unlinkat (): -.PD 0 -.ad l -.RS 4 -.TP 4 -Since glibc 2.10: -_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L -.TP -Before glibc 2.10: -_ATFILE_SOURCE -.RE -.ad -.PD -.SH DESCRIPTION -The -.BR unlinkat () -system call operates in exactly the same way as either -.BR unlink (2) -or -.BR rmdir (2) -(depending on whether or not -.I flags -includes the -.B AT_REMOVEDIR -flag) -except for the differences described in this manual page. - -If the pathname given in -.I pathname -is relative, then it is interpreted relative to the directory -referred to by the file descriptor -.I dirfd -(rather than relative to the current working directory of -the calling process, as is done by -.BR unlink (2) -and -.BR rmdir (2) -for a relative pathname). - -If the pathname given in -.I pathname -is relative and -.I dirfd -is the special value -.BR AT_FDCWD , -then -.I pathname -is interpreted relative to the current working -directory of the calling process (like -.BR unlink (2) -and -.BR rmdir (2)). - -If the pathname given in -.I pathname -is absolute, then -.I dirfd -is ignored. - -.I flags -is a bit mask that can either be specified as 0, or by ORing -together flag values that control the operation of -.BR unlinkat (). -Currently only one such flag is defined: -.TP -.B AT_REMOVEDIR -By default, -.BR unlinkat () -performs the equivalent of -.BR unlink (2) -on -.IR pathname . -If the -.B AT_REMOVEDIR -flag is specified, then -performs the equivalent of -.BR rmdir (2) -on -.IR pathname . -.SH RETURN VALUE -On success, -.BR unlinkat () -returns 0. -On error, \-1 is returned and -.I errno -is set to indicate the error. -.SH ERRORS -The same errors that occur for -.BR unlink (2) -and -.BR rmdir (2) -can also occur for -.BR unlinkat (). -The following additional errors can occur for -.BR unlinkat (): -.TP -.B EBADF -.I dirfd -is not a valid file descriptor. -.TP -.B EINVAL -An invalid flag value was specified in -.IR flags . -.TP -.B EISDIR -.I pathname -refers to a directory, and -.B AT_REMOVEDIR -was not specified in -.IR flags . -.TP -.B ENOTDIR -.I pathname -is relative and -.I dirfd -is a file descriptor referring to a file other than a directory. -.SH VERSIONS -.BR unlinkat () -was added to Linux in kernel 2.6.16; -library support was added to glibc in version 2.4. -.SH CONFORMING TO -POSIX.1-2008. -A similar system call exists on Solaris. -.SH NOTES -See -.BR openat (2) -for an explanation of the need for -.BR unlinkat (). -.SH SEE ALSO -.BR openat (2), -.BR rmdir (2), -.BR unlink (2), -.BR path_resolution (7) +.so man2/unlink.2