Lines Matching defs:list

32 #define list_to_pair(list_)  container_of(list_, pair_t, list)
35 static JSON_INLINE void list_init(list_t *list)
37 list->next = list;
38 list->prev = list;
41 static JSON_INLINE void list_insert(list_t *list, list_t *node)
43 node->next = list;
44 node->prev = list->prev;
45 list->prev->next = node;
46 list->prev = node;
49 static JSON_INLINE void list_remove(list_t *list)
51 list->prev->next = list->next;
52 list->next->prev = list->prev;
57 return bucket->first == &hashtable->list && bucket->first == bucket->last;
61 list_t *list)
65 list_insert(&hashtable->list, list);
66 bucket->first = bucket->last = list;
70 list_insert(bucket->first, list);
71 bucket->first = list;
78 list_t *list;
84 list = bucket->first;
87 pair = list_to_pair(list);
91 if(list == bucket->last)
94 list = list->next;
115 if(&pair->list == bucket->first && &pair->list == bucket->last)
116 bucket->first = bucket->last = &hashtable->list;
118 else if(&pair->list == bucket->first)
119 bucket->first = pair->list.next;
121 else if(&pair->list == bucket->last)
122 bucket->last = pair->list.prev;
124 list_remove(&pair->list);
135 list_t *list, *next;
138 for(list = hashtable->list.next; list != &hashtable->list; list = next)
140 next = list->next;
141 pair = list_to_pair(list);
149 list_t *list, *next;
165 &hashtable->list;
168 list = hashtable->list.next;
169 list_init(&hashtable->list);
171 for(; list != &hashtable->list; list = next) {
172 next = list->next;
173 pair = list_to_pair(list);
175 insert_to_bucket(hashtable, &hashtable->buckets[index], &pair->list);
192 list_init(&hashtable->list);
197 &hashtable->list;
252 list_init(&pair->list);
254 insert_to_bucket(hashtable, bucket, &pair->list);
292 &hashtable->list;
295 list_init(&hashtable->list);
301 return hashtable_iter_next(hashtable, &hashtable->list);
317 return &pair->list;
322 list_t *list = (list_t *)iter;
323 if(list->next == &hashtable->list)
325 return list->next;