summaryrefslogtreecommitdiffstats
path: root/man3/getusershell.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/getusershell.3')
-rw-r--r--man3/getusershell.399
1 files changed, 99 insertions, 0 deletions
diff --git a/man3/getusershell.3 b/man3/getusershell.3
new file mode 100644
index 0000000..cbd1d1a
--- /dev/null
+++ b/man3/getusershell.3
@@ -0,0 +1,99 @@
+'\" t
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Sat Jul 24 19:17:53 1993 by Rik Faith (faith@cs.unc.edu)
+.TH getusershell 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+getusershell, setusershell, endusershell \- get permitted user shells
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <unistd.h>
+.PP
+.B char *getusershell(void);
+.B void setusershell(void);
+.B void endusershell(void);
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR getusershell (),
+.BR setusershell (),
+.BR endusershell ():
+.nf
+ Since glibc 2.21:
+.\" commit 266865c0e7b79d4196e2cc393693463f03c90bd8
+ _DEFAULT_SOURCE
+ In glibc 2.19 and 2.20:
+ _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
+ Up to and including glibc 2.19:
+ _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
+.fi
+.SH DESCRIPTION
+The
+.BR getusershell ()
+function returns the next line from the file
+.IR /etc/shells ,
+opening the file if necessary.
+The line should contain
+the pathname of a valid user shell.
+If
+.I /etc/shells
+does not exist or
+is unreadable,
+.BR getusershell ()
+behaves as if
+.I /bin/sh
+and
+.I /bin/csh
+were listed in the file.
+.PP
+The
+.BR setusershell ()
+function rewinds
+.IR /etc/shells .
+.PP
+The
+.BR endusershell ()
+function closes
+.IR /etc/shells .
+.SH RETURN VALUE
+The
+.BR getusershell ()
+function returns NULL on end-of-file.
+.SH FILES
+.I /etc/shells
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR getusershell (),
+.BR setusershell (),
+.BR endusershell ()
+T} Thread safety MT-Unsafe
+.TE
+.sp 1
+.SH STANDARDS
+None.
+.SH HISTORY
+4.3BSD.
+.SH SEE ALSO
+.BR shells (5)