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)