機能
使用可能なグループ一覧情報を取得します。
書式
int KVRCK_get_group_list(void *ghandle, KVRCK_group *group_info, char *reserve1, char *reserve2); |
パラメタ
void * | ghandle | (in) | グループ一覧情報用ハンドル |
戻り値
KVRCK_RET_NORMAL | 正常に情報取り出しが行われた |
説明
ghandleには、「KVRCK_open_group_list()」で返却されたハンドルを指定します。
group_infoには、グループ情報構造体へのポインタを指定します。
本関数の戻り値がKVRCK_RET_NORMALの場合にはgroup_infoで指定された構造体にグループ情報が格納されます。
KVRCK_RET_NORMAL以外の場合にはgroup_infoには何も格納されません(不定です)。
「KVRCK_open_group_list()」直後の最初の呼び出し時には、グループ一覧情報の最初のエントリ情報を返し、二回目以降の呼び出しで、その次のエントリ情報を返却していきます。
最後のエントリ情報を返却した次の呼び出し時に、戻り値としてKVRCK_RET_EODを返します。
戻り値が、KVRCK_RET_EOD、またはKVRCK_RET_OTHERの場合、以降の呼び出しはKVRCK_RET_NORMAL以外の結果になります。
以下はグループ情報構造体です。
typedef struct { |
定量制限
gnameの最大長は、KVRCK_MAXLEN_GROUPNAME文字となります。
備考
本関数を呼び出す前に必ず1回だけ「KVRCK_open_group_list()」を呼び出します。
gnameの終端には必ず終端記号’\0’が配置されます。
使用例
=================================================================================== /* 変数宣言 */ int ret; void *ghandle; KVRCK_group group_info; char *reserve1; char *reserve2; /* グループリストのオープン */ ret = KVRCK_open_group_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_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_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); } ===================================================================================