From 58c74bc6320ff2ce89fae51b33343fe02474aab2 Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Fri, 21 Feb 2014 07:34:03 +0100 Subject: [PATCH] openat.2: Convert to link to open.2 All of the openat() text has been merged into open(2), so now all we need here is a link. Signed-off-by: Michael Kerrisk --- man2/openat.2 | 180 +------------------------------------------------- 1 file changed, 1 insertion(+), 179 deletions(-) diff --git a/man2/openat.2 b/man2/openat.2 index 2e4fbfb76..604e1213a 100644 --- a/man2/openat.2 +++ b/man2/openat.2 @@ -1,179 +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 OPENAT 2 2012-05-04 "Linux" "Linux Programmer's Manual" -.SH NAME -openat \- open a file relative to a directory file descriptor -.SH SYNOPSIS -.nf -.B #include -.sp -.BI "int openat(int " dirfd ", const char *" pathname ", int " flags ); -.BI "int openat(int " dirfd ", const char *" pathname ", int " flags \ -", mode_t " mode ); -.fi -.sp -.in -4n -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.in -.sp -.BR openat (): -.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 openat () -system call operates in exactly the same way as -.BR open (2), -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 open (2) -for a relative pathname). - -If -.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 open (2)). - -If -.I pathname -is absolute, then -.I dirfd -is ignored. -.SH RETURN VALUE -On success, -.BR openat () -returns a new file descriptor. -On error, \-1 is returned and -.I errno -is set to indicate the error. -.SH ERRORS -The same errors that occur for -.BR open (2) -can also occur for -.BR openat (). -The following additional errors can occur for -.BR openat (): -.TP -.B EBADF -.I dirfd -is not a valid file descriptor. -.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 openat () -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. -.\" The 'at' suffix in Solaris is actually double sensed. It -.\" primarily referred to "extended *at*tributes", which are -.\" handled by Solaris' O_XATTR flag, but was also intended -.\" to refer to the notion of "at a relative location". -.\" -.\" See the following for a discussion of the inconsistent -.\" naming of the *at() functions: -.\" http://www.opengroup.org/austin/mailarchives/ag/msg09103.html -.\" Subject: RE: The naming of at()s is a difficult matter -.\" From: Don Cragun -.\" Date: Tue, 14 Feb 2006 14:56:50 -0800 (PST) -.\" -.SH NOTES -.BR openat () -and other similar system calls suffixed "at" are supported -for two reasons. - -First, -.BR openat () -allows an application to avoid race conditions that could -occur when using -.BR open (2) -to open files in directories other than the current working directory. -These race conditions result from the fact that some component -of the directory prefix given to -.BR open (2) -could be changed in parallel with the call to -.BR open (2). -Such races can be avoided by -opening a file descriptor for the target directory, -and then specifying that file descriptor as the -.I dirfd -argument of -.BR openat (). - -Second, -.BR openat () -allows the implementation of a per-thread "current working -directory", via file descriptor(s) maintained by the application. -(This functionality can also be obtained by tricks based -on the use of -.IR /proc/self/fd/ dirfd, -but less efficiently.) -.SH SEE ALSO -.BR faccessat (2), -.BR fchmodat (2), -.BR fchownat (2), -.BR fstatat (2), -.BR futimesat (2), -.BR linkat (2), -.BR mkdirat (2), -.BR mknodat (2), -.BR open (2), -.BR readlinkat (2), -.BR renameat (2), -.BR symlinkat (2), -.BR unlinkat (2), -.BR utimensat (2), -.BR mkfifoat (3), -.BR path_resolution (7) +.so man2/open.2