Classes | Defines | Typedefs | Functions

linklist.h File Reference

#include <stdio.h>
#include <stdlib.h>
Include dependency graph for linklist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ListNode
struct  LList

Defines

#define CIRCULAR_QUEUE   (QUEUE | LISTCIRCULAR)
#define DCOUNT   dcount
#define DFREE   dfree
#define DMALLOC   malloc
#define FIFO   (LISTADDTAIL | LISTREADHEAD | LISTDELHEAD)
#define LIFO   (LISTADDHEAD | LISTREADHEAD | LISTDELHEAD)
#define LIST   (LISTADDCURR | LISTREADCURR | LISTDELCURR)
#define LISTADDCURR   0x300
#define LISTADDHEAD   0x100
#define LISTADDMASK   0xF00
#define LISTADDSPLAY   0x400
#define LISTADDTAIL   0x200
#define LISTBTREE   0x4000
#define LISTCIRCULAR   0x2000
#define LISTDELCURR   0x030
#define LISTDELHEAD   0x010
#define LISTDELMASK   0x0F0
#define LISTDELREAD   0x1000
#define LISTDELSPLAY   0x040
#define LISTDELTAIL   0x020
#define LISTFLAGMASK   0xF000
#define LISTREADCURR   0x003
#define LISTREADHEAD   0x001
#define LISTREADMASK   0x00F
#define LISTREADTAIL   0x002
#define LLIST_BADVALUE   LLIST_NULL
#define LLIST_ERROR   -1
#define LLIST_NOERROR   0
#define LLIST_NULL   1
#define LLIST_OK   LLIST_NOERROR
#define NewList(Type)   NewListAlloc(Type, NULL, NULL, NULL)
#define NewNode(Data)   NewListNode(NULL, Data)
#define QUEUE   (FIFO | LISTDELREAD)
#define STACK   (LIFO | LISTDELREAD)
#define STREE   (LISTBTREE | LISTADDSPLAY | LISTDELSPLAY | LISTREADCURR)

Typedefs

typedef void *(* ListAlloc )(size_t size)
typedef int(* ListDumpFunc )(void *)
typedef void(* ListFreeFunc )(void *)
typedef struct ListNode listnode
typedef struct ListNodelistnodePtr
typedef struct LListlistPtr
typedef struct LList llist
typedef int(* NodeCompareFunc )(void *, void *)

Functions

int AddNode (listPtr List, listnodePtr Node)
void * BTFind (listPtr List, void *Data)
int DelHeadList (listPtr List)
int DelNode (listPtr List)
int DelTailList (listPtr List)
int DoubleCompare (double *First, double *Second)
int DumpList (listPtr List, ListDumpFunc DataDump)
void * FindNode (listPtr List, void *Data)
int FreeList (listPtr List, ListFreeFunc DataFree)
void * GetNode (listPtr List)
void * GetNodeData (listnodePtr Node)
int HeadList (listPtr List, listnodePtr Node)
void * IndexNode (listPtr List, int Index)
int InsertList (listPtr List, listnodePtr Node)
int IntCompare (int *First, int *Second)
listPtr NewListAlloc (int ListType, ListAlloc Lalloc, ListFreeFunc Lfree, NodeCompareFunc Cfunc)
listnodePtr NewListNode (listPtr List, void *Data)
void * NextNode (listPtr List)
void * PrevNode (listPtr List)
int RemoveList (listPtr List)
void SortList (listPtr List)
int SplayInsertList (listPtr List, listnodePtr Node)
void * SplayList (listPtr List, void *Data)
int StringCompare (char *First, char *Second)
void SwapList (listPtr List)
int TailList (listPtr List, listnodePtr Node)

Define Documentation

#define CIRCULAR_QUEUE   (QUEUE | LISTCIRCULAR)

Definition at line 103 of file linklist.h.

#define DCOUNT   dcount

Definition at line 170 of file linklist.h.

#define DFREE   dfree

Definition at line 167 of file linklist.h.

#define DMALLOC   malloc

Definition at line 164 of file linklist.h.

#define FIFO   (LISTADDTAIL | LISTREADHEAD | LISTDELHEAD)

Definition at line 99 of file linklist.h.

#define LIFO   (LISTADDHEAD | LISTREADHEAD | LISTDELHEAD)

Definition at line 100 of file linklist.h.

#define LIST   (LISTADDCURR | LISTREADCURR | LISTDELCURR)

Definition at line 98 of file linklist.h.

#define LISTADDCURR   0x300

Definition at line 75 of file linklist.h.

#define LISTADDHEAD   0x100

Definition at line 76 of file linklist.h.

#define LISTADDMASK   0xF00

Definition at line 92 of file linklist.h.

#define LISTADDSPLAY   0x400

Definition at line 78 of file linklist.h.

#define LISTADDTAIL   0x200

Definition at line 77 of file linklist.h.

#define LISTBTREE   0x4000

Definition at line 89 of file linklist.h.

#define LISTCIRCULAR   0x2000

Definition at line 88 of file linklist.h.

#define LISTDELCURR   0x030

Definition at line 79 of file linklist.h.

#define LISTDELHEAD   0x010

Definition at line 80 of file linklist.h.

#define LISTDELMASK   0x0F0

Definition at line 93 of file linklist.h.

#define LISTDELREAD   0x1000

Definition at line 87 of file linklist.h.

#define LISTDELSPLAY   0x040

Definition at line 82 of file linklist.h.

#define LISTDELTAIL   0x020

Definition at line 81 of file linklist.h.

#define LISTFLAGMASK   0xF000

Definition at line 95 of file linklist.h.

#define LISTREADCURR   0x003

Definition at line 83 of file linklist.h.

#define LISTREADHEAD   0x001

Definition at line 84 of file linklist.h.

#define LISTREADMASK   0x00F

Definition at line 94 of file linklist.h.

#define LISTREADTAIL   0x002

Definition at line 85 of file linklist.h.

#define LLIST_BADVALUE   LLIST_NULL

Definition at line 114 of file linklist.h.

#define LLIST_ERROR   -1

Definition at line 111 of file linklist.h.

#define LLIST_NOERROR   0

Definition at line 109 of file linklist.h.

#define LLIST_NULL   1

Definition at line 110 of file linklist.h.

#define LLIST_OK   LLIST_NOERROR

Definition at line 113 of file linklist.h.

#define NewList (   Type )    NewListAlloc(Type, NULL, NULL, NULL)

Definition at line 190 of file linklist.h.

#define NewNode (   Data )    NewListNode(NULL, Data)

Definition at line 202 of file linklist.h.

#define QUEUE   (FIFO | LISTDELREAD)

Definition at line 101 of file linklist.h.

#define STACK   (LIFO | LISTDELREAD)

Definition at line 102 of file linklist.h.

#define STREE   (LISTBTREE | LISTADDSPLAY | LISTDELSPLAY | LISTREADCURR)

Definition at line 104 of file linklist.h.


Typedef Documentation

typedef void*(* ListAlloc)(size_t size)

Definition at line 123 of file linklist.h.

typedef int(* ListDumpFunc)(void *)

Definition at line 135 of file linklist.h.

typedef void(* ListFreeFunc)(void *)

Definition at line 120 of file linklist.h.

typedef struct ListNode listnode
typedef struct ListNode* listnodePtr

Definition at line 138 of file linklist.h.

typedef struct LList* listPtr

Definition at line 146 of file linklist.h.

typedef struct LList llist
typedef int(* NodeCompareFunc)(void *, void *)

Definition at line 126 of file linklist.h.


Function Documentation

int AddNode ( listPtr  List,
listnodePtr  Node 
)
void* BTFind ( listPtr  List,
void *  Data 
)
int DelHeadList ( listPtr  List )
int DelNode ( listPtr  List )
int DelTailList ( listPtr  List )
int DoubleCompare ( double *  First,
double *  Second 
)
int DumpList ( listPtr  List,
ListDumpFunc  DataDump 
)
void* FindNode ( listPtr  List,
void *  Data 
)
int FreeList ( listPtr  List,
ListFreeFunc  DataFree 
)
void* GetNode ( listPtr  List )
void* GetNodeData ( listnodePtr  Node )
int HeadList ( listPtr  List,
listnodePtr  Node 
)
void* IndexNode ( listPtr  List,
int  Index 
)
int InsertList ( listPtr  List,
listnodePtr  Node 
)
int IntCompare ( int *  First,
int *  Second 
)
listPtr NewListAlloc ( int  ListType,
ListAlloc  Lalloc,
ListFreeFunc  Lfree,
NodeCompareFunc  Cfunc 
)
listnodePtr NewListNode ( listPtr  List,
void *  Data 
)
void* NextNode ( listPtr  List )
void* PrevNode ( listPtr  List )
int RemoveList ( listPtr  List )
void SortList ( listPtr  List )
int SplayInsertList ( listPtr  List,
listnodePtr  Node 
)
void* SplayList ( listPtr  List,
void *  Data 
)
int StringCompare ( char *  First,
char *  Second 
)
void SwapList ( listPtr  List )
int TailList ( listPtr  List,
listnodePtr  Node 
)