diff options
| author | Alejandro Colomar <alx@kernel.org> | 2023-03-17 17:08:01 +0100 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2023-03-30 15:14:55 +0200 |
| commit | 4131356cdab8d37fc395ca5466a0401c8573380c (patch) | |
| tree | 8c4c6f1c3172358b735b481cbbfdd9cc04b00ed9 /man2/link.2 | |
| parent | fd00f831b52d61a91d59cb3b46182869145d9700 (diff) | |
| download | man-pages-4131356cdab8.tar.gz | |
man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections
- Add a new HISTORY section that covers the history of an API, both
regarding implementations and regarding old standards. This was
previously covered in VERSIONS, and in some cases in STANDARDS.
- Repurpose VERSIONS to cover differing implementations in _current_
systems.
- STANDARDS is reduced to only cover current versions of standards.
That basically means only C11 (C99 has been superseeded by C11; C17
is just a bugfix of C11, so not really a new version), and
POSIX.1-2008 (*-2001 was superseeded by *-2008; *-2017 was just a
bugfix for *-2008). The section also mentions for example 'Linux',
'GNU' or 'BSD' when a non-standard API is Linux- or GNU-only or if
it's (de-facto) standard in the BSDs.
- In some cases content that should go into one of these sections was
in NOTES. Move it from there to where it corresponds.
- In the SYNOPSIS, I added [[deprecated]] in some functions that I
found are deprecated by the relevant standards.
- A few other related changes...
Cc: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man2/link.2')
| -rw-r--r-- | man2/link.2 | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/man2/link.2 b/man2/link.2 index 60b739eba1..6271934bdd 100644 --- a/man2/link.2 +++ b/man2/link.2 @@ -335,26 +335,6 @@ is an empty string, and .I olddirfd refers to a directory. .SH VERSIONS -.BR linkat () -was added in Linux 2.6.16; -library support was added in glibc 2.4. -.SH STANDARDS -.BR link (): -SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008. -.\" SVr4 documents additional ENOLINK and -.\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. -.\" X/OPEN does not document EFAULT, ENOMEM or EIO. -.PP -.BR linkat (): -POSIX.1-2008. -.SH NOTES -Hard links, as created by -.BR link (), -cannot span filesystems. -Use -.BR symlink (2) -if this is required. -.PP POSIX.1-2001 says that .BR link () should dereference @@ -385,7 +365,7 @@ is dereferenced if it is a symbolic link. For precise control over the treatment of symbolic links when creating a link, use .BR linkat (). -.SS glibc notes +.SS glibc On older kernels where .BR linkat () is unavailable, the glibc wrapper function falls back to the use of @@ -405,6 +385,29 @@ that correspond to the and .I newdirfd arguments. +.SH STANDARDS +.TP +.BR link () +POSIX.1-2008. +.SH HISTORY +.TP +.BR link () +SVr4, 4.3BSD, POSIX.1-2001 (but see VERSIONS). +.\" SVr4 documents additional ENOLINK and +.\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. +.\" X/OPEN does not document EFAULT, ENOMEM or EIO. +.TP +.BR linkat () +POSIX.1-2008. +Linux 2.6.16, +glibc 2.4. +.SH NOTES +Hard links, as created by +.BR link (), +cannot span filesystems. +Use +.BR symlink (2) +if this is required. .SH BUGS On NFS filesystems, the return code may be wrong in case the NFS server performs the link creation and dies before it can say so. |
