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

F.1.6 ユーザ一覧取得(KVRCK_get_user_list)

機能

使用可能なユーザ一覧情報を取得します。

書式

int KVRCK_get_user_list(void *uhandle, KVRCK_user *user_info, char *reserve1, char *reserve2);

パラメタ

void *
KVRCK_user *
char *
char *

uhandle
user_info

reserve1

reserve2

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

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

戻り値

KVRCK_RET_NORMAL
KVRCK_RET_EOD
KVRCK_RET_OTHER

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

説明

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

user_infoには、ユーザ情報を含む構造体へのポインタを指定します。
本関数の戻り値がKVRCK_RET_NORMALの場合には、user_infoで指定された構造体にユーザ情報が格納されます。
KVRCK_RET_NORMAL以外の場合には、user_infoには何も格納されません。

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

以下はユーザ情報構造体です。

typedef struct {
int uid;/* ユーザID */
char uname[KVRCD_MAXLEN_USERNAME + 1];/* ユーザ名 */
char ucomment[KVRCD_MAXLEN_UCOMMENT + 1];/* ユーザ注釈 */
int gid;/* グループID */
} KVRCK_user;

定量制限

備考

使用例

===================================================================================
/* 変数宣言 */
int ret;
void *uhandle;
KVRCK_user user_info;
char *reserve1;
char *reserve2;

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

while (ret == KVRCK_RET_NORMAL)
{
  /* ユーザリストの取得 */
  ret = KVRCK_get_user_list(uhandle, &user_info, reserve1, reserve2);
  switch (ret)
  {
    case KVRCK_RET_NORMAL: /* 正常に情報取り出しが行われた */
      printf("uid=%d, uname=%s, ucomment=%s, gid=%d\n", user_info.uid, user_info.uname, user_info.ucomment, user_info.gid);
      break;
    case KVRCK_RET_EOD: /* すべての情報の取り出しが正常に完了した */
      printf("Userlist finished.\n");
      break;
    case KVRCK_RET_OTHER: /* その他のエラーが発生した */
      printf("Userlist get error!\n");
      exit(1);
  }
}

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