Fix segfaults related to copying DH parameters.
[trust_router.git] / include / tr_apc.h
index 08f9c34..2919f86 100644 (file)
@@ -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