日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
getpwent |
ユーザ・データベース内のユーザ・エントリ情報にアクセスします。 passwd構造体へのポインタが返されます。
#include <pwd.h>関数バリアント getpwent関数には, __getpwent32および __getpwent64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。struct passwd *getpwent (void);
getpwent関数は,ユーザ・データベースのエントリから得た値がフィールドに格納された構造体へのポインタを返します。データベースのエントリは, getpwentによって順にアクセスされます。最初に呼び出されたとき, getpwentは,ユーザ・データベース内の 1 番目のエントリが格納された passwd構造体へのポインタを返します。その後の呼び出しでは,この関数は,ユーザ・データベース内の次のエントリが格納された passwd構造体へのポインタを返します。このため,連続して呼び出しを行うことで,ユーザ・データベース全体を検索できます。passwd構造体は, <pwd.h>ヘッダ・ファイルに次のように定義されています。
pw_name ユーザの名前 pw_uid ユーザの ID pw_gid ユーザの基本グループのグループ ID pw_dir ユーザのホーム・ディレクトリ pw_shell ユーザの初期プログラム
読み取り時に,ファイルの終端またはエラーが検出された場合, getpwentは NULL ポインタを返します。
getpwentはユーザ登録ファイル (SYSUAF) を直接アクセスするため,プロセスには適切な特権が必要です。特権がないと,この関数は失敗します。
注意
getpwent関数で生成される情報はすべて,スレッド単位の静的領域に格納され,関数の次の呼び出しで上書きされます。パスワート・ファイル・エントリが長すぎる場合は無視されます。
x 成功した場合, passwd 構造体へのポインタです。 NULL ファイルの終端またはエラーの発生を示します。この関数は, errno に以下のいずれかの値を設定します。
- EIO -- 入出力エラーの発生,またはユーザ登録ファイル (SYSUAF) にアクセスするための適切な特権がユーザにないことを示します。
- EMFILE -- 呼び出し元プロセス内で, OPEN_MAX 個のファイル記述子が現在オープンされています。
- ENFILE -- 許されている最大個数のファイルが,現在システム内でオープンされています。
目次 | 索引 |
|