Return separate counts of TID reqs that succeed and result in error
[trust_router.git] / include / tr_apc.h
index 80b35b3..0821477 100644 (file)
@@ -37,7 +37,7 @@
 
 #include <talloc.h>
 
-#include <trust_router/tr_name.h>
+#include <tr_name_internal.h>
 
 /* Used to hold lists of APC names in cfg. */
 typedef struct tr_apc {
@@ -45,9 +45,14 @@ typedef struct tr_apc {
   TR_NAME *id;
 } TR_APC;
 
+/* iterator is just a pointer to a TR_APC */
+typedef TR_APC *TR_APC_ITER;
+
 TR_APC *tr_apc_new(TALLOC_CTX *mem_ctx);
 void tr_apc_free(TR_APC *apc);
-TR_APC *tr_apc_add(TR_APC *apcs, TR_APC *new);
+TR_APC *tr_apc_add_func(TR_APC *apcs, TR_APC *new);
+#define tr_apc_add(apcs,new) ((apcs)=tr_apc_add_func((apcs),(new)))
+TR_APC *tr_apc_dup_one(TALLOC_CTX *mem_ctx, TR_APC *apc);
 TR_APC *tr_apc_dup(TALLOC_CTX *mem_ctx, TR_APC *apc);
 
 void tr_apc_set_id(TR_APC *apc, TR_NAME *id);
@@ -56,6 +61,13 @@ TR_NAME *tr_apc_dup_id(TR_APC *apc);
 
 char *tr_apc_to_str(TALLOC_CTX *mem_ctx, TR_APC *apc);
 
+TR_APC_ITER *tr_apc_iter_new(TALLOC_CTX *mem_ctx);
+TR_APC *tr_apc_iter_first(TR_APC_ITER *iter, TR_APC *apc);
+TR_APC *tr_apc_iter_next(TR_APC_ITER *iter);
+void tr_apc_iter_free(TR_APC_ITER *iter);
+
+int tr_apc_in_common(TR_APC *one, TR_APC *two);
+
 #endif