GETUSERSHELL(3) BSD Programmer's Manual GETUSERSHELL(3)
getusershell, setusershell, endusershell - get legal user shells
#include <unistd.h> char * getusershell(void); void setusershell(void); void endusershell(void);
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/mksh were listed in the file. The getusershell() function reads the next line (opening the file if necessary); setusershell() rewinds the file; endusershell() closes it.
/etc/shells
The routine getusershell() returns a null pointer on EOF.
shells(5)
The getusershell() function appeared in 4.3BSD.
The getusershell() function leaves its result in an internal static ob- ject and returns a pointer to that object. Subsequent calls to getuser- shell() will modify the same object. MirBSD #10-current June 4, 1993 1