\section{\module{grp} ---
         The group database}

\declaremodule{builtin}{grp}
  \platform{Unix}
\modulesynopsis{The group database (\function{getgrnam()} and friends).}


This module provides access to the \UNIX{} group database.
It is available on all \UNIX{} versions.

Group database entries are reported as 4-tuples containing the
following items from the group database (see \code{<grp.h>}), in order:

\begin{tableiii}{r|l|l}{textrm}{Index}{Field}{Meaning}
  \lineiii{0}{gr_name}{the name of the group}
  \lineiii{1}{gr_passwd}{the (encrypted) group password; often empty}
  \lineiii{2}{gr_gid}{the numerical group ID}
  \lineiii{3}{gr_mem}{all the group member's  user  names}
\end{tableiii}

The gid is an integer, name and password are strings, and the member
list is a list of strings.
(Note that most users are not explicitly listed as members of the
group they are in according to the password database.)
\exception{KeyError} is raised if the entry asked for cannot be found.

It defines the following items:

\begin{funcdesc}{getgrgid}{gid}
Return the group database entry for the given numeric group ID.
\end{funcdesc}

\begin{funcdesc}{getgrnam}{name}
Return the group database entry for the given group name.
\end{funcdesc}

\begin{funcdesc}{getgrall}{}
Return a list of all available group entries, in arbitrary order.
\end{funcdesc}


\begin{seealso}
  \seemodule{pwd}{An interface to the user database, similar to this.}
\end{seealso}
