"Fossies" - the Fresh Open Source Software Archive 
Member "list.h" (9 May 1995, 2416 Bytes) of package /linux/misc/old/cpost.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "list.h" see the
Fossies "Dox" file reference documentation.
1 /*------------------------------------------------------------------
2 * list.h : list functions
3 *------------------------------------------------------------------
4 * 10-19-88 originally by Patrick J. Mueller
5 * 08-07-92 fixed up by Patrick J. Mueller
6 *------------------------------------------------------------------*/
7
8 #if !defined(LIST_H_INCLUDED)
9 #define LIST_H_INCLUDED
10
11 typedef int ListCompareFunc (void *pItem1, void *pItem2);
12 typedef void ListIterateFunc (void *pItem, void *pUserData);
13 typedef void ListNoMemFunc (void);
14
15 typedef struct ListNode ListNode;
16 struct ListNode
17 {
18 void *pItem;
19 ListNode *next;
20 };
21
22 typedef struct List
23 {
24 int count;
25 int itemSize;
26 ListNode *head;
27 ListCompareFunc *cmpFunc;
28 ListNoMemFunc *memFunc;
29 } List;
30
31 /*------------------------------------------------------------------
32 * create a list
33 *------------------------------------------------------------------*/
34 List *ListCreate(
35 int itemSize,
36 ListCompareFunc *cmpFunc,
37 ListNoMemFunc *memFunc
38 );
39
40 /*------------------------------------------------------------------
41 * destroy a list
42 *------------------------------------------------------------------*/
43 void ListDestroy(
44 List *list
45 );
46
47 /*------------------------------------------------------------------
48 * count items in list
49 *------------------------------------------------------------------*/
50 int ListCount(
51 List *list
52 );
53
54 /*------------------------------------------------------------------
55 * find an item
56 *------------------------------------------------------------------*/
57 void *ListFind(
58 List *list,
59 void *pItem
60 );
61
62 /*------------------------------------------------------------------
63 * add an item to the list
64 *------------------------------------------------------------------*/
65 void *ListAdd(
66 List *list,
67 void *pItem
68 );
69
70 /*------------------------------------------------------------------
71 * delete item from list
72 *------------------------------------------------------------------*/
73 void ListDelete(
74 List *list,
75 void *pItem
76 );
77
78 /*------------------------------------------------------------------
79 * iterate through list
80 *------------------------------------------------------------------*/
81 void ListIterate(
82 List *list,
83 ListIterateFunc *pIterateFunc,
84 void *pUserData
85 );
86
87 #endif