\section{\module{grp} ---
         グループデータベースへのアクセス}

\declaremodule{builtin}{grp}
  \platform{Unix}
\modulesynopsis{グループデータベースへのアクセス (\function{getgrnam()} およびその仲間)。}


このモジュールでは \UNIX{} グループ (group) データベースへのアクセス機構を
提供します。全ての \UNIX{} バージョンで利用可能です。

このモジュールはグループデータベースのエントリをタプルに似たオブジェクト
として報告されます。このオブジェクトの属性は \code{group} 
構造体の各メンバ (以下の属性フィールド、\code{<pwd.h>} を参照) に対応
します:

\begin{tableiii}{r|l|l}{textrm}{インデクス}{属性}{意味}
  \lineiii{0}{gr_name}{グループ名}
  \lineiii{1}{gr_passwd}{(暗号化された) グループパスワード; しばしば空文字列になります}
  \lineiii{2}{gr_gid}{数字のグループ ID}
  \lineiii{3}{gr_mem}{グループメンバの全てのユーザ名}
\end{tableiii}

gid は整数、名前およびパスワードは文字列、そしてメンバリストは
文字列からなるリストです。
(ほとんどのユーザは、パスワードデータベースで自分が入れられているグループ
のメンバとしてグループデータベース内では明示的に列挙されていないので
注意してください。完全なメンバ情報を取得するには両方のデータベースを
調べてください。)

このモジュールでは以下の内容を定義しています:

\begin{funcdesc}{getgrgid}{gid}
与えられたグループ ID に対するグループデータベースエントリを返します。
要求したエントリが見つからなかった場合、\exception{KeyError} が
送出されます。
\end{funcdesc}

\begin{funcdesc}{getgrnam}{name}
与えられたグループ名に対するグループデータベースエントリを返します。
要求したエントリが見つからなかった場合、\exception{KeyError} が
送出されます。
\end{funcdesc}

\begin{funcdesc}{getgrall}{}
全ての入手可能なグループエントリを返します。順番は決まっていません。
\end{funcdesc}


\begin{seealso}
  \seemodule{pwd}{このモジュールと類似の、ユーザデータベースへのインタフェース。}
  \seemodule{spwd}{このモジュールと類似の、シャドウパスワードデータベースへのインタフェース。}
\end{seealso}
