ページの先頭行へ戻る
Interstage Navigator ServerV9.5.0 セットアップガイド Vol.1(Enterprise Edition用)
FUJITSU Software

F.1.15 拡張グループ一覧取得 (KVRCK_get_group_ex_list)

本関数は、拡張グループ運用を行う場合にだけ作成します。

機能

使用可能な拡張(二次)グループ一覧情報を取得します。

書式

int KVRCK_get_group_ex_list(void *ghandle, KVRCK_group *group_info, char *reserve1, char *reserve2);

パラメタ

void *
KVRCK_group *
char *
char *

ghandle
group_info
reserve1
reserve2

(in)
(in)
(未定)
(未定)

グループ一覧情報用ハンドル
グループ情報構造体へのポインタ
予約域(現在未使用)
予約域(現在未使用)

戻り値

KVRCK_RET_NORMAL
KVRCK_RET_EOD
KVRCK_RET_OTHER

正常に情報取り出しが行われた
すべての情報の取り出しが正常に完了した
その他のエラーが発生した

説明

ghandleには、「KVRCK_open_group_ex_list()」で返却されたハンドルを指定します。

group_infoには、グループ情報構造体へのポインタを指定します。
本関数の戻り値がKVRCK_RET_NORMALの場合には、group_infoで指定された構造体に二次グループ情報が格納されます。
KVRCK_RET_NORMAL以外の場合には、group_infoには何も格納されません(不定です)。

「KVRCK_open_group_ex_list()」直後の最初の呼び出し時には、二次グループ一覧情報の最初のエントリ情報を返し、二回目以降の呼び出しで、その次のエントリ情報を返却していきます。
最後のエントリ情報を返却した次の呼び出し時に、戻り値としてKVRCK_RET_EODを返します。
戻り値が、KVRCK_RET_EOD、またはKVRCK_RET_OTHERの場合、以降の呼び出しはKVRCK_RET_NORMAL以外の結果になります。

グループ構造体については、「KVRCK_get_group_list()」を参照してください。

定量制限

備考

使用例

===================================================================================
/* 変数宣言 */
int ret;
void *ghandle;
KVRCK_group group_info;
char *reserve1;
char *reserve2;

/* 二次グループリストのオープン */
ret = KVRCK_open_group_ex_list(&ghandle , reserve1, reserve2);
switch (ret)
{
  case KVRCK_RET_NORMAL: /* ハンドルが正常に取得された */
    printf("Grouplist open OK.\n");
    break;
  case KVRCK_RET_OTHER: /* その他のエラーが発生した */
    printf("Grouplist open error!\n");
    exit(1);
}

while (ret == KVRCK_RET_NORMAL)
{
  /* 二次グループリストの取得 */
  ret = KVRCK_get_group_ex_list(ghandle, &group_info, reserve1, reserve2);
  switch (ret)
  {
    case KVRCK_RET_NORMAL: /* 正常に情報取り出しが行われた */
    printf("gid=%d, gname=%s\n", group_info.gid, group_info.gname);
      break;
    case KVRCK_RET_EOD: /* すべての情報の取り出しが正常に完了した */
      printf("Grouplist finished.\n");
      break;
    case KVRCK_RET_OTHER: /* その他のエラーが発生した */
      printf("Grouplist get error!\n");
      exit(1);
  }
}

/* 二次グループリストのクローズ */
ret = KVRCK_close_group_ex_list(ghandle , reserve1, reserve2);
switch (ret)
{
  case KVRCK_RET_NORMAL: /* ハンドルが正常に解放された */
    printf("Grouplist close OK.\n");
    break;
  case KVRCK_RET_OTHER: /* その他のエラーが発生した */
    printf("Grouplist close error!\n");
    exit(1);
}
===================================================================================