getgroups サブルーチン

目的

現行プロセスの補足グループ ID を取得します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/types.h>
#include <unistd.h>
int getgroups (NGroups, GIDSet)
int  NGroups;
gid_t  GIDSet [ ];

説明

getgroups サブルーチンは、プロセスの補足グループ ID を取得します。 リストは、 GIDSet パラメーターが指す配列に保管されます。 NGroups パラメーターは、この配列に保管できる項目の数を示します。 getgroups サブルーチンは、 NGROUPS_MAX 定数で指定された数を超えるエントリーを戻すことはありません。 ( NGROUPS_MAX 定数は、 limits.h ファイルに定義されています。) NGroups パラメーターの値が 0 の場合、 getgroups サブルーチンは補助グループ内のグループの数を戻します。

パラメーター

項目 説明
GIDSet ユーザーのプロセスの補足グループ ID が保管されている配列を指します。
NGroup GIDSet パラメーターによって指される配列に保管できるエントリーの数を示します。

戻り値

正常終了すると、 getgroups サブルーチンは、 GIDSet パラメーターが指す配列に保管されているエレメントの数を戻します。 getgroupsサブルーチンが失敗した場合、-1が返され、エラーを示す errnoグローバル変数が設定される。

エラー・コード

以下のいずれかのエラー・コードが真の場合、 getgroups サブルーチンは失敗します。

項目 説明
EFAULT NGroups および GIDSet パラメーターは、プロセスの割り振り済みアドレス・スペースの一部または全体の外部にあるアレイを指定します。
EINVAL NGroups パラメーターが、補助グループ内のグループの数より小さくなっています。