Include trmon in RPM, nudge version to 3.4.0~2
[trust_router.git] / include / tr_list.h
index 12ede45..8bfca38 100644 (file)
 
 typedef GPtrArray *TR_LIST;
 
+typedef void (TR_LIST_FOREACH_FUNC)(void *item, void *cookie);
+
 typedef struct tr_list_iter{
   TR_LIST *list;
   guint index;
 } TR_LIST_ITER;
 
+#define tr_list_index(LIST, INDEX) (g_ptr_array_index(*(LIST),(INDEX)))
+#define tr_list_length(LIST) ((size_t)((*(LIST))->len))
+
 TR_LIST *tr_list_new(TALLOC_CTX *mem_ctx);
-void *tr_list_add(TR_LIST *list, void *item);
 void tr_list_free(TR_LIST *list);
+void *tr_list_add(TR_LIST *list, void *item, int steal);
 
 TR_LIST_ITER *tr_list_iter_new(TALLOC_CTX *mem_ctx);
 void tr_list_iter_free(TR_LIST_ITER *iter);
 void *tr_list_iter_first(TR_LIST_ITER *iter, TR_LIST *list);
 void *tr_list_iter_next(TR_LIST_ITER *iter);
-void tr_list_foreach(TR_LIST *list, void (*function)(void *item, void *cookie), void *cookie);
+void tr_list_foreach(TR_LIST *list, TR_LIST_FOREACH_FUNC *func, void *cookie);
 
 #endif //TRUST_ROUTER_TR_LIST_H