list(3)
NAME
list - list routines
SYNOPSIS
#include <inn/list.h> struct node { struct node *succ; struct node *pred; }; struct list { struct node *head; struct node *tail; struct node *tailpred; }; void list_new(struct list *list); struct node *list_addhead(struct list *list, struct node *node); struct node *list_addtail(struct list *list, struct node *node); struct node *list_head(struct list *list); struct node *list_tail(struct list *list); struct node *list_succ(struct node *node); struct node *list_pred(struct node *node); struct node *list_remhead(struct list *list); struct node *list_remtail(struct list *list); struct node *list_remove(struct node *node); struct node *list_insert(struct list *list, struct node *node, struct node *pred); bool list_isempty(struct list *list);
DESCRIPTION
list_new initialises the list header list so as to create an empty
list.
list_addhead adds node to the head of list, returning the node just
added.
list_addtail adds node to the tail of list, returning the node just
added.
list_head returns a pointer to the the node at the head of list or NULL
if the list is empty.
list_tail returns a pointer to the the node at the tail of list or NULL
if the list is empty.
list_succ returns the next (successor) node on the list after node or
NULL if node was the final node.
list_pred returns the previous (predecessor) node on the list before
node or NULL if node was the first node.
list_remhead removes the first node from list and returns it to the
caller. If the list is empty NULL is returned.
list_remtail removes the last node from list and returns it to the
caller. If the list is empty NULL is returned.
list_remove removes node from the list it is on and returns it to the
caller.
list_insert inserts node onto list after the node pred. If pred is NULL
then node is added to the head of list.
HISTORY
Written by Alex Kiernan <alex.kiernan@thus.net> for InterNetNews 2.4.0.
- $Id: list.pod 7851 2008-05-26 19:33:08Z iulius $