aboutsummaryrefslogtreecommitdiffstats
path: root/man3/cmsg.3
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2023-03-17 17:08:01 +0100
committerAlejandro Colomar <alx@kernel.org>2023-03-30 15:14:55 +0200
commit4131356cdab8d37fc395ca5466a0401c8573380c (patch)
tree8c4c6f1c3172358b735b481cbbfdd9cc04b00ed9 /man3/cmsg.3
parentfd00f831b52d61a91d59cb3b46182869145d9700 (diff)
downloadman-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 'man3/cmsg.3')
-rw-r--r--man3/cmsg.344
1 files changed, 25 insertions, 19 deletions
diff --git a/man3/cmsg.3 b/man3/cmsg.3
index 8e7b857b24..ee7ba45e0a 100644
--- a/man3/cmsg.3
+++ b/man3/cmsg.3
@@ -160,27 +160,9 @@ For more information on the
.IR msghdr ,
see
.BR recvmsg (2).
-.SH STANDARDS
-This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite,
-the IPv6 advanced API described in RFC\ 2292 and SUSv2.
-.BR CMSG_FIRSTHDR (),
-.BR CMSG_NXTHDR (),
-and
-.BR CMSG_DATA ()
-are specified in POSIX.1-2008.
-.BR CMSG_SPACE ()
-and
-.BR CMSG_LEN ()
-.\" https://www.austingroupbugs.net/view.php?id=978#c3242
-will be included in the next POSIX release (Issue 8).
-.PP
-.BR CMSG_ALIGN ()
-is a Linux extension.
-.SH NOTES
+.SH VERSIONS
For portability, ancillary data should be accessed using only the macros
described here.
-.BR CMSG_ALIGN ()
-is a Linux extension and should not be used in portable programs.
.PP
In Linux,
.BR CMSG_LEN (),
@@ -190,6 +172,30 @@ and
are constant expressions (assuming their argument is constant),
meaning that these values can be used to declare the size of global variables.
This may not be portable, however.
+.SH STANDARDS
+.TP
+.BR CMSG_FIRSTHDR ()
+.TQ
+.BR CMSG_NXTHDR ()
+.TQ
+.BR CMSG_DATA ()
+POSIX.1-2008.
+.TP
+.BR CMSG_SPACE ()
+.TQ
+.BR CMSG_LEN ()
+.TQ
+.BR CMSG_ALIGN ()
+Linux.
+.SH HISTORY
+This ancillary data model conforms to the POSIX.1g draft, 4.4BSD-Lite,
+the IPv6 advanced API described in RFC\ 2292 and SUSv2.
+.PP
+.BR CMSG_SPACE ()
+and
+.BR CMSG_LEN ()
+.\" https://www.austingroupbugs.net/view.php?id=978#c3242
+will be included in the next POSIX release (Issue 8).
.SH EXAMPLES
This code looks for the
.B IP_TTL