X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=utils.h;h=7ee65a04a14594f3498c55c6fa265d9b2ac12e79;hp=3aad3b17d6a80f8515b27aa88b32a241f07b6bea;hb=5c40cd4ad2774f743b653257f5ca4dff857becdf;hpb=adcfdfd838f54f15ec7f4be6b5e8e5b78ddd3393 diff --git a/utils.h b/utils.h index 3aad3b1..7ee65a0 100644 --- a/utils.h +++ b/utils.h @@ -16,11 +16,19 @@ struct blobmsg_list_node { struct blob_attr *data; }; +#define blobmsg_list_simple_init(list) \ + __blobmsg_list_init(list, 0, sizeof(struct blobmsg_list_node)) + #define blobmsg_list_init(list, type, field) \ - __blobmsg_list_init(tree, offsetof(type, field), sizeof(type)) + __blobmsg_list_init(list, offsetof(type, field), sizeof(type)) + +#define blobmsg_list_for_each(list, element) \ + avl_for_each_element(&(list)->avl, element, avl) void __blobmsg_list_init(struct blobmsg_list *list, int offset, int len); int blobmsg_list_fill(struct blobmsg_list *list, void *data, int len); void blobmsg_list_free(struct blobmsg_list *list); +bool blobmsg_list_equal(struct blobmsg_list *l1, struct blobmsg_list *l2); +void blobmsg_list_move(struct blobmsg_list *list, struct blobmsg_list *src); #endif