X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=include%2Ftr_gss_names.h;h=c6192be110f309c8b33119c28411c90167f08811;hb=3feea37388d58efac91a7e10b85043bb52c8bf19;hp=f8f97a246998a1e901b5a217b994598fad12fb29;hpb=d0cb62ba0250c3d95ac50c53a6c96789d58f6527;p=trust_router.git diff --git a/include/tr_gss_names.h b/include/tr_gss_names.h index f8f97a2..c6192be 100644 --- a/include/tr_gss_names.h +++ b/include/tr_gss_names.h @@ -36,29 +36,29 @@ #define __TR_GSS_H__ #include -#include +#include -#define TR_MAX_GSS_NAMES 5 +#include typedef struct tr_gss_names { - TR_NAME *names[TR_MAX_GSS_NAMES]; + TR_LIST *names; } TR_GSS_NAMES; -typedef struct tr_gss_names_iter { - TR_GSS_NAMES *gn; - int ii; /* which entry did we last output? */ -} TR_GSS_NAMES_ITER; +typedef TR_LIST_ITER TR_GSS_NAMES_ITER; + +/* Iterator for TR_FILTER lines */ +#define tr_gss_names_iter_new(CTX) (tr_list_iter_new(CTX)) +#define tr_gss_names_iter_free(ITER) (tr_list_iter_free(ITER)) +#define tr_gss_names_iter_first(ITER, GSSN) ((TR_NAME *) tr_list_iter_first((ITER), (GSSN)->names)) +#define tr_gss_names_iter_next(ITER) ((TR_NAME *) tr_list_iter_next(ITER)) TR_GSS_NAMES *tr_gss_names_new(TALLOC_CTX *mem_ctx); void tr_gss_names_free(TR_GSS_NAMES *gn); int tr_gss_names_add(TR_GSS_NAMES *gn, TR_NAME *new); TR_GSS_NAMES *tr_gss_names_dup(TALLOC_CTX *mem_ctx, TR_GSS_NAMES *orig); int tr_gss_names_matches(TR_GSS_NAMES *gn, TR_NAME *name); - -TR_GSS_NAMES_ITER *tr_gss_names_iter_new(TALLOC_CTX *mem_ctx); -TR_NAME *tr_gss_names_iter_first(TR_GSS_NAMES_ITER *iter, TR_GSS_NAMES *gn); -TR_NAME *tr_gss_names_iter_next(TR_GSS_NAMES_ITER *iter); -void tr_gss_names_iter_free(TR_GSS_NAMES_ITER *iter); +#define tr_gss_names_length(GSSN) (tr_list_length((GSSN)->names)) +#define tr_gss_names_index(GSSN, INDEX) (tr_list_index((GSSN)->names, (INDEX))) json_t *tr_gss_names_to_json_array(TR_GSS_NAMES *gss_names);