EN JA
GETGROUPLIST(3)
GETGROUPLIST(3) FreeBSD Library Functions Manual GETGROUPLIST(3)

名称

getgrouplistグループアクセスリストを計算する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
getgrouplist( const char *name, gid_t basegid, gid_t *groups, int *ngroups);

解説

getgrouplist() 関数は、グループファイルを最後まで読み込み、 name で指定されたユーザのためのグループアクセスリストを計算します。 basegid は、グループリストに自動的に含まれます。一般的に、この値は、パスワードファイルからのグループ番号として与えられます。

結果のグループリストは、 groups によって指された配列に返されます。呼び出し側は、 ngroups によって指される整数で groups 配列のサイズを指定します。見つかったグループの実際の数は、 ngroups に返されます。

戻り値

getgrouplist() 関数は、成功すれば、0 を返し、グループリストのサイズがすべてのユーザのグループを保持するには小さすぎるなら、-1 を返します。ここで、グループ配列は、適合するのと同数のグループで満たされます。

関連ファイル

/etc/group
グループメンバシップのリスト

関連項目

setgroups(2), initgroups(3)

歴史

getgrouplist() 関数は、 4.4BSD ではじめて登場しました。

バグ

getgrouplist() 関数は、 getgrent(3) に基づいたルーチンを使用します。呼び出しているプログラムが、これらのルーチンのいずれかを使用するなら、グループ構造体は、 getgrouplist() への呼び出しで上書きされます。
February 20, 2012 FreeBSD