EN JA
GETGROUPS(2)
GETGROUPS(2) FreeBSD System Calls Manual GETGROUPS(2)

名称

getgroupsグループアクセスリストを取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
getgroups( int gidsetlen, gid_t *gidset);

解説

getgroups() システムコールは、ユーザプロセスの現在のグループアクセスリストを取得し、配列 gidset に、それを格納します。 gidsetlen 引数は、 gidset に置かれるエントリの数を示します。 getgroups() システムコールは、 gidset に返されたグループの実際の数を返します。少なくとも、1 と {NGROUPSXMAX}+1 と同数の値が返されます。 gidsetlen が 0 であるなら、 getgroups() は、 gidset によって指されている配列を修正せずに、呼び出しているプロセスに関連した補足のグループ ID の数を返します。

{NGROUPS_MAX} の値は、実行形式に決め打ちすることを避けるために sysconf(3) を使用して取得されるべきです。

戻り値

呼び出しが成功すれば、グループセットのグループの数を返します。 -1 の値は、エラーが生じたことを示し、エラーコードが、グローバル変数 errno に格納されます。

エラー

getgroups() のためのあり得るエラーは、次の通りです:
[ EINVAL]
引数 gidsetlen が、グループセットのグループの数より小さいです。
[ EFAULT]
引数 gidset が、無効のアドレスを指定しています。

規格

getgroups() システムコールは、 IEEE Std 1003.1-2008 (“POSIX.1”) に適合しています。

歴史

getgroups() システムコールは、 4.2BSD で登場しました。
January 21, 2011 FreeBSD