Manual pages › BSD C library (3B)
getusrshl(3B)
get legal user shells
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
NAME
getusershell, setusershell, endusershell - get legal user shells
SYNOPSIS
cc [ flag... ] file ... -lucb char *getusershell() setusershell() endusershell()
DESCRIPTION
getusershell returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If /etc/shells does not exist, the locations of the standard system shells, /usr/bin/csh, /usr/bin/sh, and /usr/bin/ksh are returned. getusershell reads the next line (opening the file if necessary); setusershell rewinds the file; endusershell closes it.
FILES
/etc/shells /usr/bin/csh /usr/bin/ksh /usr/bin/sh
RETURN VALUE
The routine getusershell returns a NULL pointer (0) on EOF or error.
NOTES
All information is contained in a static area so it must be copied if it is to be saved.