Use json_is_true() in place of json_boolean_value() for compatibility
[trust_router.git] / include / tr_apc.h
index 08f9c34..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,10 +45,28 @@ 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_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);
 TR_NAME *tr_apc_get_id(TR_APC *apc);
+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