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

F.1.8 ユーザ名によるユーザ情報の取得(KVRCK_getpwnam)

機能

ユーザ名が一致するユーザ情報を取得します。

書式

int KVRCK_getpwnam(const char *uname, KVRCK_user *user_info, char *reserve1, char *reserve2);

パラメタ

const char *
KVRCK_user *
char *
char *

uname
user_info

reserve1

reserve2

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

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

戻り値

KVRCK_RET_NORMAL
KVRCK_RET_NOTFOUND
KVRCK_RET_OTHER

ユーザ情報が正しく取得された
ユーザ名が一致するエントリがなかった
その他のエラーが発生した

説明

ユーザ名unameに、一致するユーザ情報をuser_info に格納します。
unameに一致するエントリがない場合は、戻り値にKVRCK_RET_NOTFOUNDを返します。
戻り値がKVRCK_RET_NORMAL以外の場合には、user_infoには何も格納されません。

ユーザ情報構造体については、“F.1.6 ユーザ一覧取得(KVRCK_get_user_list)”の説明を参照してください。

使用例

===================================================================================
/* 変数宣言 */
int ret;
char uname[KVRCK_MAXLEN_USERNAME + 1];
KVRCK_user user_info;
char *reserve1;
char *reserve2;

/* ユーザ名を設定 */
strcpy(uname, "navi");

/* ユーザ情報の取得 */
ret = KVRCK_getpwnam(uname, &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_NOTFOUND: /* ユーザ名が一致するエントリがなかった */
    printf("Username not found.\n");
    break;
  case KVRCK_RET_OTHER: /* その他のエラーが発生した */
    printf("User information get error!\n");
    exit(1);
}
===================================================================================