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


OpenVMS マニュアル


 

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

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

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


目次 索引




グループ ID に対応するグループ・データベース・エントリを取得します。

形式

#include <types.h>

#include <grp.h>

int getgrgid_r (gid_t gid, struct group *grp, char *buffer, size_t bufsize, struct group **result);


引数



gid

グループ・データベース・エントリを取り出すグループのグループ ID。

grp

取り出した group構造体を保持する記憶域。

buffer

データベース内の最長のグループ・エントリを保持できる作業バッファ。

bufsize

buffer の長さ (文字数)。

result

成功して戻った場合, result は取り出した group構造体を指します。

失敗して戻った場合, result には NULL が設定されます。


説明

getgrgid_r関数は, grp が指す group構造体をアップデートし, result が指すメモリ位置に,この構造体へのポインタを格納します。この構造体には, gid が一致したグループ・データベースのエントリが格納されています。 group構造体から指す記憶域は, buffer 引数のメモリ (サイズは bufsize 文字) から割り当てられます。このバッファに必要なサイズは, sysconf関数の _SC_GETGR_R_SIZE_MAX パラメータで調べることができます。エラーの場合,または要求されたエントリが見つからない場合は, result が指すメモリ位置に,NULL ポインタが返されます。


戻り値

0 成功を示します。
x エラーの場合,この関数は以下のいずれかの値を戻り値として設定します。

  • EACCES -- ユーザ・プロセスが,ユーザ登録ファイルにアクセスするための適切な特権を持っていません。

  • EIO -- 入出力エラーが発生しました。

  • EINTR -- getgrgid の実行中にシグナルをキャッチしました。

  • EMFILE -- 呼び出し元プロセス内で, OPEN_MAX 個のファイル記述子が現在オープンされています。

  • ENFILE -- 許されている最大個数のファイルが,現在システム内でオープンされています。

  • ERANGE -- buffer 引数と bufsize 引数で指定された記憶域は,得られた group 構造体から指すデータを格納するには不十分です。


目次 索引

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