日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




ユーザ・データベース内のユーザ・エントリ情報にアクセスします。 passwd構造体へのポインタが返されます。

形式

#include <pwd.h>

struct passwd *getpwent (void);

関数バリアント getpwent関数には, __getpwent32および __getpwent64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。

説明

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 -- 許されている最大個数のファイルが,現在システム内でオープンされています。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.