head 1.6; access; symbols; locks; strict; comment @ * @; 1.6 date 92.07.24.17.02.19; author paul; state Exp; branches; next 1.5; 1.5 date 92.07.22.16.03.35; author paul; state Exp; branches; next 1.4; 1.4 date 90.12.18.08.40.56; author dorner; state Exp; branches; next 1.3; 1.3 date 89.03.20.15.14.13; author dorner; state Exp; branches; next 1.2; 1.2 date 88.12.02.14.41.06; author dorner; state Exp; branches; next 1.1; 1.1 date 88.11.15.13.30.48; author dorner; state Exp; branches; next ; desc @@ 1.6 log @Re-formatted for clarity. @ text @/* * This software is Copyright (C) 1988 by Steven Dorner and the * University of Illinois Board of Trustees. No warranties of any * kind are expressed or implied. No support will be provided. * This software may not be redistributed for commercial purposes. * You may direct questions to nameserv@@uiuc.edu */ #ifndef LL_H #define LL_H #include #ifndef NULL #define NULL 0 #endif #define FORWARD 1 #define BACKWARD (-1) struct ListItem { struct ListItem *prevItem; /* previous item in chain */ struct ListItem *nextItem; /* next item in chain */ }; typedef struct ListItem L_ITEM; struct List { struct ListItem *firstItem; struct ListItem *lastItem; int listCount; }; typedef struct List LIST; LIST *CreateList __P((char *)); L_ITEM *InsertItem __P((LIST *, L_ITEM *, L_ITEM *)); L_ITEM *DeleteItem __P((LIST *, L_ITEM *)); L_ITEM *FindItem __P((LIST *, L_ITEM *, int, int(*)(), char *)); L_ITEM *PopItem __P((LIST *)); L_ITEM *PushItem __P((LIST *, L_ITEM *)); L_ITEM *QueueItem __P((LIST *, L_ITEM *)); int RecountList __P((LIST *)); #define ListIsEmpty(x) ((x)->firstItem==NULL) #endif @ 1.5 log @Re-formatted for clarity. @ text @d20 2 a21 2 ListItem *prevItem; /* previous item in chain */ ListItem *nextItem; /* next item in chain */ d23 1 a23 1 typedef struct ListItem ListItem; d27 2 a28 2 ListItem *firstItem; ListItem *lastItem; d31 1 a31 1 typedef struct List List; d33 8 a40 8 List *CreateList __P((char *)); ListItem *InsertItem __P((List *, ListItem *, ListItem *)); ListItem *DeleteItem __P((List *, ListItem *)); ListItem *FindItem __P((List *, ListItem *, int, int(*)(), char *)); ListItem *PopItem __P((List *)); ListItem *PushItem __P((List *, ListItem *)); ListItem *QueueItem __P((List *, ListItem *)); int RecountList __P((List *)); @ 1.4 log @No help here. @ text @d1 7 a7 7 /********************************************************************* * This software is Copyright (C) 1988 by Steven Dorner and the * University of Illinois Board of Trustees. No warranties of any * kind are expressed or implied. No support will be provided. * This software may not be redistributed for commercial purposes. * You may direct questions to dorner@@garcon.cso.uiuc.edu **********************************************************************/ d11 1 a17 1 typedef struct ListItem ListItem; d20 2 a21 2 ListItem *prevItem; /* previous item in chain */ ListItem *nextItem; /* next item in chain */ d23 1 a24 1 typedef struct List List; d27 3 a29 3 ListItem *firstItem; ListItem *lastItem; int listCount; d31 10 a40 8 List *CreateList(char *storage); ListItem *InsertItem(List *theList,ListItem *theSpot,ListItem *theItem); ListItem *DeleteItem(List *theList,ListItem *theItem); ListItem *FindItem(List *theList,ListItem *startItem,int direction,int (*Yes) (),char *yesArg); ListItem *PopItem(List *theList); ListItem *PushItem(List *theList,ListItem *theItem); ListItem *QueueItem(List *theList,ListItem *theItem); int RecountList(List *theList); d42 1 a42 1 #define ListIsEmpty(theList) ((theList)->firstItem==NULL) @ 1.3 log @No help here. @ text @d31 8 a38 9 List *CreateList(); /* initialize a new list */ ListItem *InsertItem(); /* insert an item in a list */ ListItem *DeleteItem(); /* delete an item from the list */ ListItem *FindItem(); /* find an item with certain properties */ ListItem *PopItem(); /* remove and return the first item */ ListItem *PushItem(); /* add an item at front of list */ ListItem *QueueItem(); /* add an item to the end of a list */ int RecountList(); /* recount the number of items in a list */ @ 1.2 log @No help here. @ text @d1 8 @ 1.1 log @No help here. @ text @d1 2 a2 2 #ifndef LL #define LL @