GETUSERSHELL(3C) Standard C Library Functions GETUSERSHELL(3C)

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
does not exist, the following locations of the standard system shells are
used in its place:

/bin/bash /bin/csh
/bin/jsh /bin/ksh
/bin/ksh93 /bin/pfcsh
/bin/pfksh /bin/pfsh
/bin/sh /bin/tcsh
/bin/zsh /sbin/jsh
/sbin/pfsh /sbin/sh
/usr/bin/bash /usr/bin/csh
/usr/bin/jsh /usr/bin/ksh
/usr/bin/ksh93 /usr/bin/pfcsh
/usr/bin/pfksh /usr/bin/pfsh
/usr/bin/sh /usr/bin/tcsh
/usr/bin/zsh /usr/sfw/bin/zsh
/usr/xpg4/bin/sh


The getusershell() function opens the file /etc/shells, if it exists, and
returns the next entry in the list of shells.


The setusershell() function rewinds the file or the list.


The endusershell() function closes the file, frees any memory used by
getusershell() and setusershell(), and rewinds the file /etc/shells.

RETURN VALUES


The getusershell() function returns a null pointer on EOF.

BUGS


All information is contained in memory that may be freed with a call to
endusershell(), so it must be copied if it is to be saved.

NOTES


Restricted shells should not be listed in /etc/shells.

November 1, 2007 GETUSERSHELL(3C)