X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Flist%2Flist.h;h=18f077aec20418c65711230ff051bc85670a2cbb;hb=ad5b0543eb48508144a6fda887bdaa85003adaf3;hp=02835a6b51e092c4b95fbc21a88bb71bbb46910a;hpb=dc0aafc9d58e231f5d6d70c9838b151a162428b1;p=ccan diff --git a/ccan/list/list.h b/ccan/list/list.h index 02835a6b..18f077ae 100644 --- a/ccan/list/list.h +++ b/ccan/list/list.h @@ -1,3 +1,4 @@ +/* Licensed under LGPLv2.1+ - see LICENSE file for details */ #ifndef CCAN_LIST_H #define CCAN_LIST_H #include @@ -95,17 +96,34 @@ struct list_node *list_check_node(const struct list_node *n, #endif /** - * LIST_HEAD - define and initalize an empty list_head + * LIST_HEAD_INIT - initializer for an empty list_head + * @name: the name of the list. + * + * Explicit initializer for an empty list. + * + * See also: + * LIST_HEAD, list_head_init() + * + * Example: + * static struct list_head my_list = LIST_HEAD_INIT(my_list); + */ +#define LIST_HEAD_INIT(name) { { &name.n, &name.n } } + +/** + * LIST_HEAD - define and initialize an empty list_head * @name: the name of the list. * * The LIST_HEAD macro defines a list_head and initializes it to an empty * list. It can be prepended by "static" to define a static list_head. * + * See also: + * LIST_HEAD_INIT, list_head_init() + * * Example: * static LIST_HEAD(my_global_list); */ #define LIST_HEAD(name) \ - struct list_head name = { { &name.n, &name.n } } + struct list_head name = LIST_HEAD_INIT(name) /** * list_head_init - initialize a list_head