This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] manual: Document the linkat function
- From: fweimer at redhat dot com (Florian Weimer)
- To: libc-alpha at sourceware dot org
- Date: Fri, 03 Nov 2017 22:37:12 +0100
- Subject: [PATCH] manual: Document the linkat function
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 48B5A356D7
2017-11-03 Florian Weimer <fweimer@redhat.com>
* manual/filesys.texi (Hard Links): Document linkat.
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 5f7eb0e231..a364c373b2 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -1205,6 +1205,35 @@ A hardware error occurred while trying to read or write the to filesystem.
@end table
@end deftypefun
+@deftypefun int linkat (int olfd, const char *@var{oldname}, int newfd, const char *@var{newname}, int flags)
+@standards{POSIX.1, unistd.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+
+The @code{linkat} function is analogous to the @code{link} function,
+except that it identifies its source and target using a combination of a
+file descriptor (referring to a directory) and a pathname. If a
+pathnames is not absolute, it is resolved relative to the corresponding
+file descriptor. The special file descriptor @code{AT_FDCWD} denotes
+the current directory.
+
+The @var{flags} argument is a combination of the following flags:
+
+@table @code
+@item AT_SYMLINK_FOLLOW
+If the source path denoted by @var{oldfd} and @var{oldname} is a
+symbolic link, @code{linkat} follows the symbolic link and creates a
+link to its target. If the flag is not set, a link for the symbolic
+link itself is created; this is not supported by all file systems and
+@code{linkat} can fail in this case.
+
+@item AT_EMPTY_PATH
+If this flag is specified, @var{oldname} can be an empty string. In
+this case, a new link to the file denoted by the descriptor @var{oldfd}
+is created, which may have been opened with @code{O_PATH} or
+@code{O_TMPFILE}. This flag is a GNU extension.
+@end table
+@end deftypefun
+
@node Symbolic Links
@section Symbolic Links
@cindex soft link
@@ -3515,7 +3544,6 @@ The @code{mkdtemp} function comes from OpenBSD.
@c fchownat
@c futimesat
@c fstatat (there's a commented-out safety assessment for this one)
-@c linkat
@c mkdirat
@c mkfifoat
@c name_to_handle_at