47 return node->
next != node;
55 while((next = ret->
next) != node){
153 }
while(callback(node,arg)
159 #define ZRTOS_CLIST__EACH_BEGIN(thiz,node,container,member) \ 161 zrtos_clist_t *clist = thiz;\ 162 zrtos_clist_node_t *tmp = zrtos_clist__get_root(clist);\ 163 zrtos_clist_node_t *next;\ 168 node = zrtos_types__get_container_of(\ 169 tmp,container,member\ 173 #define ZRTOS_CLIST__EACH_END\ 176 }while(tmp != zrtos_clist__get_root(clist));\
struct _zrtos_clist_t zrtos_clist_t
bool zrtos_clist__init(zrtos_clist_t *thiz)
bool zrtos_clist__delete(zrtos_clist_t *thiz, zrtos_clist_node_t *node)
struct _zrtos_clist_node_t zrtos_clist_node_t
zrtos_clist_node_t * zrtos_clist__get_root(zrtos_clist_t *thiz)
struct _zrtos_clist_node_t * next
static void zrtos_clist_node__append(zrtos_clist_node_t *thiz, zrtos_clist_node_t *node)
void zrtos_clist__shift_and_push(zrtos_clist_t *thiz)
zrtos_clist_node_t * zrtos_clist__get_first_node(zrtos_clist_t *thiz)
zrtos_clist_node_t * zrtos_clist__shift(zrtos_clist_t *thiz)
zrtos_clist_node_t * zrtos_clist__pop(zrtos_clist_t *thiz)
bool zrtos_clist__unshift(zrtos_clist_t *thiz, zrtos_clist_node_t *node)
zrtos_clist_node_t * root
bool zrtos_clist__push(zrtos_clist_t *thiz, zrtos_clist_node_t *node)
zrtos_clist_node_t * zrtos_clist_node__get_next_node(zrtos_clist_node_t *node)
bool zrtos_clist_node__init(zrtos_clist_node_t *thiz)
zrtos_clist_node_t * zrtos_clist__get_last_node(zrtos_clist_t *thiz)
bool zrtos_clist_node__has_next_node(zrtos_clist_node_t *node)
void zrtos_clist__each(zrtos_clist_t *thiz, bool(*callback)(zrtos_clist_node_t *node, void *arg), void *arg)
void zrtos_clist__set_root(zrtos_clist_t *thiz, zrtos_clist_node_t *node)
zrtos_clist_node_t * zrtos_clist_node__get_previous_node(zrtos_clist_node_t *node)