summaryrefslogtreecommitdiffstats
path: root/man/man3/getusershell.3
blob: 142b36eb4157b05218557683cd6b55f05ea18dcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
'\" 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 2024-05-02 "Linux man-pages (unreleased)"
.SH NAME
getusershell, setusershell, endusershell \- get permitted user shells
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.P
.B char *getusershell(void);
.B void setusershell(void);
.B void endusershell(void);
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.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.
.P
The
.BR setusershell ()
function rewinds
.IR /etc/shells .
.P
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
.SH STANDARDS
None.
.SH HISTORY
4.3BSD.
.SH SEE ALSO
.BR shells (5)