aboutsummaryrefslogtreecommitdiffstats
path: root/man2/setfsgid.2
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 /man2/setfsgid.2
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 'man2/setfsgid.2')
-rw-r--r--man2/setfsgid.232
1 files changed, 15 insertions, 17 deletions
diff --git a/man2/setfsgid.2 b/man2/setfsgid.2
index eb35af7e1d..bd17d69999 100644
--- a/man2/setfsgid.2
+++ b/man2/setfsgid.2
@@ -19,7 +19,7 @@ Standard C library
.nf
.B #include <sys/fsuid.h>
.PP
-.BI "int setfsgid(gid_t " fsgid );
+.BI "[[deprecated]] int setfsgid(gid_t " fsgid );
.fi
.SH DESCRIPTION
On Linux, a process has both a filesystem group ID and an effective group ID.
@@ -48,14 +48,21 @@ saved set-group-ID, or current the filesystem user ID.
.SH RETURN VALUE
On both success and failure,
this call returns the previous filesystem group ID of the caller.
-.SH VERSIONS
-This system call is present since Linux 1.2.
-.\" This system call is present since Linux 1.1.44
-.\" and in libc since libc 4.7.6.
.SH STANDARDS
-.BR setfsgid ()
-is Linux-specific and should not be used in programs intended
-to be portable.
+Linux.
+.SH HISTORY
+Linux 1.2.
+.\" Linux 1.1.44
+.\" and in libc since libc 4.7.6.
+.SS C library/kernel differences
+In glibc 2.15 and earlier,
+when the wrapper for this system call determines that the argument can't be
+passed to the kernel without integer truncation (because the kernel
+is old and does not support 32-bit group IDs),
+it will return \-1 and set \fIerrno\fP to
+.B EINVAL
+without attempting
+the system call.
.SH NOTES
The filesystem group ID concept and the
.BR setfsgid ()
@@ -78,15 +85,6 @@ supporting 32-bit IDs.
The glibc
.BR setfsgid ()
wrapper function transparently deals with the variation across kernel versions.
-.SS C library/kernel differences
-In glibc 2.15 and earlier,
-when the wrapper for this system call determines that the argument can't be
-passed to the kernel without integer truncation (because the kernel
-is old and does not support 32-bit group IDs),
-it will return \-1 and set \fIerrno\fP to
-.B EINVAL
-without attempting
-the system call.
.SH BUGS
No error indications of any kind are returned to the caller,
and the fact that both successful and unsuccessful calls return