getgrnam() - 名前によるグループ・データベースへのアクセス

標準

標準/拡張機能 C/C++ 依存項目

POSIX.1
XPG4
XPG4.2
Single UNIX Specification、バージョン 3

両方  

形式

#define _POSIX_SOURCE
#include <grp.h>

struct group *getgrnam(const char *name);

機能説明

指定された name と一緒にグループ・データベースからのエント リーを含む、group 構造体にアクセスします。

戻り値

正常に実行された場合、getgrnam() は group 構造体へのポインターを戻します。戻り値は、呼び出しごとに上書きされる静的データを指す 場合があります。

この group 構造体は、grp.h ヘッダー・ファイルに定義され、以下のメンバーを含みます。
gr_name
グループ名
gr_gid
数値のグループ ID (GID)
gr_mem
個々のメンバー名へのポインターの NULL 終了ベクトル

失敗した場合、または要求したエントリーが見つからない場合は、getgrnam() は NULL ポインターを戻します。

文書化される errno 値はありません。

CELEBG09
⁄* CELEBG09

   This example provides the members of a group.

 *⁄
#define _POSIX_SOURCE
#include <sys⁄types.h>
#include <grp.h>
#include <stdio.h>

main() {
  struct group *grp;
  char   grpname[]="USERS", **curr;

  if ((grp = getgrnam(grpname)) == NULL)
    perror("getgrnam() error");
  else {
    printf("The following are members of group %s:¥n", grpname);
    for (curr=grp->gr_mem; (*curr) != NULL; curr++)
      printf("  %s¥n", *curr);
  }
}
出力:
The following are members of group USERS:
  MVSUSR1
  MVSUSR2
  MVSUSR3
  MVSUSR4
  MVSUSR5
  MVSUSR6
  MVSUSR7
  MVSUSR8
  MVSUSR9

関連情報