#include <mplib1/min_list.h>
struct Min_List
{
struct Min_Node ln_Head;
struct Min_Node ln_Tail;
};
struct Min_Node
{
struct Min_Node *ln_Succ;
struct Min_Node *ln_Pred;
};
The min_list routines are a suite of minmal double-linked list functions
based on the same linkage principle as the standard
double-linked list routines.
int Init_Min_List ( Min_List *list );
This function initialises a Min_List structure for subsequent use.
int Init_Min_Node( Min_Node *node );
This function initialises a Min_Node structure for use in a Min_List.
int Add_To_Min_Head( Min_List *list, Min_Node *node );
int Add_To_Min_Tail( Min_List *list, Min_Node *node );
These functions add the supplied min_node to the head and tail of the
supplied min_list respectively.
There is another pair of add functions. These are for use when manipulating items somewhere in the Min_List.
int Add_Min_After( Min_Node *node1, Min_Node *node2 );
int Add_Min_Before( Min_Node *node1, Min_Node *node2 );
This pair adds node2 to the list before and after node1 respectively.
int Remove_Min_Node( Min_Node *node );