本関数は、拡張グループ運用を行う場合にだけ作成します。
機能
指定のユーザ名が属する拡張(二次)グループのリストをすべて取得します。
書式
int KVRCK_get_grpslist(const char *uname, KVRCK_groups **grplistp, char* rsv1, char* rsv2);
パラメタ
const char * | uname | (in) | ユーザ名 |
戻り値
KVRCK_RET_NORMAL | 正常に情報取り出しが行われた |
説明
unameに、二次グループ情報を取得したいユーザ名を指定します。
grplistpには、二次グループ情報構造体チェーンの先頭ポインタが返却されます。構造体のnextがNULLになるまでたどることで、ユーザが属するすべての二次グループ情報が取得できます。
以下は、二次グループ情報構造体です。
typedef struct { |
備考
本関数を呼び出し、グループ情報を参照した後で、呼び出し側で領域の解放処理を呼び出します。以下の「使用例」を参照してください。
本関数の返却情報には、一次グループ(従来のグループ)情報は含まれません。
使用例
=================================================================================== /* 変数宣言 */ KVRCK_groups *grplistp; KVRCK_groups *grplist_wk; char *rsv1 = NULL, *rsv2 = NULL; /* 二次グループ情報の獲得 */ KVRCK_get_grpslist("user02", &grplistp,rsv1, rsv2); /* 獲得した情報の参照 */ for (grplist_wk=grplistp;grplist_wk!=NULL;grplist_wk=grplist_wk->next) { printf("=> gname=%s gid=%d\n",grplist_wk->gname, grplist_wk->gid); } /* 領域の解放 */ KVRCK_free_grpslist(grplistp, rsv1, rsv2); ===================================================================================