Rev 17 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
16 | f9daq | 1 | #ifndef __KLIST_H__ |
2 | #define __KLIST_H__ |
||
3 | |||
4 | //------------------------------------------------------------------------------------------- |
||
5 | // klist.h - header parts to maintain a doubly linked list (org microsoft) |
||
6 | // |
||
7 | // Please announce changes and hints to ARW Elektronik |
||
8 | // |
||
9 | // |
||
10 | // $Log: Klist.h,v $ |
||
11 | // Revision 1.2 2004/07/24 07:47:46 klaus |
||
12 | // revised, removed wrong license terms |
||
13 | // |
||
14 | // |
||
15 | // what who when |
||
16 | // first steps AR 07.11.1999 |
||
17 | // |
||
18 | |||
19 | typedef struct item_tag FAR * LIST; |
||
20 | typedef LIST FAR * PLIST; |
||
21 | |||
22 | void APIENTRY List_Init(void); |
||
23 | /* MUST BE CALLED BEFORE ANY OF THE OTHER FUNCTIONS. */ |
||
24 | |||
25 | LIST APIENTRY List_Create(void); |
||
26 | /* Create a list. It will be initially empty */ |
||
27 | |||
28 | void APIENTRY List_Destroy(PLIST plst); |
||
29 | /* Destroy *plst. It does not need to be empty first. |
||
30 | | All storage directly in the list wil be freed. |
||
31 | */ |
||
32 | |||
33 | LPVOID APIENTRY List_NewFirst(LIST lst, UINT uLen); |
||
34 | /* Return the address of the place for Len bytes of data in a new |
||
35 | | item at the start of *plst |
||
36 | */ |
||
37 | |||
38 | void APIENTRY List_Delete(LPVOID Curs); |
||
39 | /*------------------------------------------------------------------ |
||
40 | | Delete the item that Curs identifies. |
||
41 | | This will be only a few (maybe as little as 3) machine instructions |
||
42 | | quicker than DeleteAndNext or DeleteAndPrev but leaves Curs dangling. |
||
43 | | It is therefore NOT usually to be preferred. |
||
44 | | It may be useful when you have a function which returns an LPVOID |
||
45 | | since the argument does not need to be a variable. |
||
46 | | Trivial example: List_Delete(List_First(L)); |
||
47 | -------------------------------------------------------------------*/ |
||
48 | |||
49 | BOOL APIENTRY List_IsEmpty(LIST lst); |
||
50 | /* Return TRUE if and only if lst is empty */ |
||
51 | |||
52 | #endif /* __KLIST_H__ */ |