manual: Document the linkat function

Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
This commit is contained in:
Florian Weimer 2017-11-03 22:31:54 +01:00
parent 86ec486597
commit bc18a6d362
2 changed files with 33 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2017-11-03 Florian Weimer <fweimer@redhat.com>
* manual/filesys.texi (Hard Links): Document linkat.
2017-11-03 Joseph Myers <joseph@codesourcery.com>
* math/tgmath.h [__HAVE_DISTINCT_FLOAT16

View File

@ -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 oldfd, 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 identified 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