Lines Matching refs:node
21 static inline void list_node_init(MppListNode *node) in list_node_init() argument
23 node->prev = node->next = node; in list_node_init()
26 static inline void list_node_init_with_key_and_size(MppListNode *node, rk_u32 key, rk_s32 size) in list_node_init_with_key_and_size() argument
28 list_node_init(node); in list_node_init_with_key_and_size()
29 node->key = key; in list_node_init_with_key_and_size()
30 node->size = size; in list_node_init_with_key_and_size()
35 MppListNode *node = mpp_malloc_size(MppListNode, sizeof(MppListNode) + size); in create_list() local
37 if (node) { in create_list()
38 void *dst = (void*)(node + 1); in create_list()
39 list_node_init_with_key_and_size(node, key, size); in create_list()
44 return node; in create_list()
70 MppListNode *node = create_list(data, size, 0); in mpp_list_add_at_head() local
71 if (node) { in mpp_list_add_at_head()
72 mpp_list_add(node, list->head); in mpp_list_add_at_head()
87 MppListNode *node = create_list(data, size, 0); in mpp_list_add_at_tail() local
89 if (node) { in mpp_list_add_at_tail()
90 mpp_list_add_tail(node, list->head); in mpp_list_add_at_tail()
100 static void release_list(MppListNode*node, void *data, rk_s32 size) in release_list() argument
102 void *src = (void*)(node + 1); in release_list()
104 if (node->size == size) { in release_list()
109 size = (size < node->size) ? (size) : (node->size); in release_list()
113 mpp_free(node); in release_list()
122 static inline void mpp_list_del_init(MppListNode *node) in mpp_list_del_init() argument
124 _mpp_list_del(node->prev, node->next); in mpp_list_del_init()
125 list_node_init(node); in mpp_list_del_init()
128 static inline void _list_del_node_no_lock(MppListNode *node, void *data, rk_s32 size) in _list_del_node_no_lock() argument
130 mpp_list_del_init(node); in _list_del_node_no_lock()
131 release_list(node, data, size); in _list_del_node_no_lock()
159 MppListNode *node = mpp_malloc_size(MppListNode, sizeof(MppListNode) + sizeof(size) + size); in create_list_with_size() local
161 if (node) { in create_list_with_size()
162 rk_s32 *dst = (rk_s32 *)(node + 1); in create_list_with_size()
163 list_node_init_with_key_and_size(node, key, size); in create_list_with_size()
169 return node; in create_list_with_size()
177 MppListNode *node = create_list_with_size(data, size, 0); in mpp_list_fifo_wr() local
179 if (node) { in mpp_list_fifo_wr()
180 mpp_list_add_tail(node, list->head); in mpp_list_fifo_wr()
190 static void release_list_with_size(MppListNode* node, void *data, rk_s32 *size) in release_list_with_size() argument
192 rk_s32 *src = (rk_s32*)(node + 1); in release_list_with_size()
200 mpp_free(node); in release_list_with_size()
208 MppListNode *node = list->head->next; in mpp_list_fifo_rd() local
210 mpp_list_del_init(node); in mpp_list_fifo_rd()
211 release_list_with_size(node, data, size); in mpp_list_fifo_rd()
233 MppListNode *node; in mpp_list_add_by_key() local
237 node = create_list(data, size, list_key); in mpp_list_add_by_key()
238 if (node) { in mpp_list_add_by_key()
239 mpp_list_add_tail(node, list->head); in mpp_list_add_by_key()
284 MppListNode* node = list->head->next; in mpp_list_flush() local
286 mpp_list_del_init(node); in mpp_list_flush()
289 list->destroy((void*)(node + 1)); in mpp_list_flush()
292 mpp_free(node); in mpp_list_flush()
416 MppListNode *node; in mpp_list_destroy() local
423 node = list->head->next; in mpp_list_destroy()
424 while (node != list->head) { in mpp_list_destroy()
425 MppListNode *next = node->next; in mpp_list_destroy()
427 mpp_free(node); in mpp_list_destroy()
428 node = next; in mpp_list_destroy()