diff options
author | paul <paul> | 2002-12-13 20:15:29 +0000 |
---|---|---|
committer | paul <paul> | 2002-12-13 20:15:29 +0000 |
commit | 718e3744195351130f4ce7dbe0613f4b3e23df93 (patch) | |
tree | bac2ad39971cd43f31241ef123bd4e470f695ac9 /ospf6d/ospf6_linklist.h |
Initial revision
Diffstat (limited to 'ospf6d/ospf6_linklist.h')
-rw-r--r-- | ospf6d/ospf6_linklist.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ospf6d/ospf6_linklist.h b/ospf6d/ospf6_linklist.h new file mode 100644 index 00000000..6d978999 --- /dev/null +++ b/ospf6d/ospf6_linklist.h @@ -0,0 +1,35 @@ + +#ifndef _LINKLIST_H_ +#define _LINKLIST_H_ + +struct linklist_node +{ + struct linklist_node *prev; + struct linklist_node *next; + + void *data; +}; + +struct linklist +{ + int count; + struct linklist_node *head; + struct linklist_node *tail; + + int (*cmp) (void *, void *); +}; + +void *linklist_lookup (void *data, struct linklist *linklist); +int linklist_add (void *data, struct linklist *linklist); +int linklist_remove (void *data, struct linklist *linklist); +void linklist_remove_all (struct linklist *linklist); + +void linklist_head (struct linklist *linklist, struct linklist_node *node); +int linklist_end (struct linklist_node *node); +void linklist_next (struct linklist_node *node); + +struct linklist *linklist_create (); +void linklist_delete (struct linklist *); + +#endif /*_LINKLIST_H_*/ + |