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 only /bin/sh, /bin/csh and /bin/ksh were listed in the file.

The getusershell() function reads the next line (opening the file if necessary); setusershell() rewinds the file; endusershell() closes it.

FILES
/etc/shells

DIAGNOSTICS
The routine getusershell() returns a null pointer on EOF.

SEE ALSO
shells(5)

HISTORY
The getusershell() function appeared in 4.3BSD.

BUGS
The getusershell() function leaves its result in an internal static object and returns a pointer to that object. Subsequent calls to getusershell() will modify the same object.