GETUSERSHELL(3) BSD Programmer's Manual GETUSERSHELL(3)NAME
getusershell, setusershell, endusershell - get legal user shells
SYNOPSIS
#include <unistd.h>
char *
getusershell(void);
void
setusershell(void);
void
endusershell(void);
DESCRIPTION
The getusershell() function returns a pointer to a legal user shell as
defined by the system manager in the file /etc/shells. If /etc/shells is
unreadable or does not exist, getusershell() behaves as if /bin/sh and
/bin/csh were listed in the file.
The getusershell() function reads the next line (opening the file if nec-
essary); setusershell() rewinds the file; endusershell() closes it.
FILES
/etc/shells
DIAGNOSTICS
The routine getusershell() returns a null pointer (0) on EOF.
SEE ALSOshells(5)HISTORY
The getusershell() function appeared in 4.3BSD.
BUGS
The getusershell() function leaves its result in an internal static ob-
ject and returns a pointer to that object. Subsequent calls to
getusershell() will modify the same object.
The getusershell() function may not be safely called concurrently from
multiple threads, e.g., the interfaces described by pthreads(3).
4.3 Berkeley Distribution June 4, 1993 1