• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/zebra/ospf6d/

Lines Matching defs:linklist

7 linklist_lookup_node (void *data, struct linklist *linklist)
11 for (node = linklist->head; node; node = node->next)
13 if (linklist->cmp && (*linklist->cmp) (node->data, data) == 0)
23 linklist_lookup (void *data, struct linklist *linklist)
27 node = linklist_lookup_node (data, linklist);
34 linklist_add (void *data, struct linklist *linklist)
38 if (linklist_lookup_node (data, linklist))
47 if (linklist->cmp)
49 for (node = linklist->head; node; node = node->next)
51 if ((*linklist->cmp) (node->data, add->data) > 0)
59 if (linklist->tail)
61 linklist->tail->next = add;
62 add->prev = linklist->tail;
66 linklist->head = add;
70 linklist->tail = add;
83 linklist->head = add;
91 linklist->count++;
96 linklist_remove (void *data, struct linklist *linklist)
100 rem = linklist_lookup_node (data, linklist);
107 linklist->head = rem->next;
112 linklist->tail = rem->prev;
115 linklist->count--;
120 linklist_head (struct linklist *linklist, struct linklist_node *node)
122 if (linklist->head == NULL)
130 node->prev = linklist->head->prev;
131 node->next = linklist->head->next;
132 node->data = linklist->head->data;
159 struct linklist *
162 struct linklist *linklist;
164 linklist = malloc (sizeof (struct linklist));
165 if (linklist == NULL)
167 memset (linklist, 0, sizeof (struct linklist));
169 return linklist;
173 linklist_remove_all (struct linklist *linklist)
177 for (linklist_head (linklist, &node); ! linklist_end (&node);
179 linklist_remove (node.data, linklist);
183 linklist_delete (struct linklist *linklist)
185 linklist_remove_all (linklist);
186 assert (linklist->count == 0);
187 assert (linklist->head == NULL);
188 assert (linklist->tail == NULL);
190 free (linklist);