[BACK]Return to lst.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/lst.h between version 1.13 and 1.14

version 1.13, 2000/06/10 01:41:05 version 1.14, 2000/06/17 14:34:04
Line 54 
Line 54 
 #include        <stdlib.h>  #include        <stdlib.h>
 #endif  #endif
   
   /* These data structures are PRIVATE !!!
    * Here for efficiency, so that some functions can be recoded as inlines,
    * and so that lst headers don't need dynamic allocation most of the time.  */
   typedef struct ListNode_ {
           struct ListNode_    *prevPtr;   /* previous element in list */
           struct ListNode_    *nextPtr;   /* next in list */
           short               useCount:8, /* Count of functions using the node.
                                            * node may not be deleted until count
                                            * goes to 0 */
                               flags:8;    /* Node status flags */
           void                *datum;     /* datum associated with this element */
   } *LstNode;
   
   typedef enum {
       Head, Middle, Tail, Unknown
   } Where;
   
   typedef struct  {
           LstNode         firstPtr; /* first node in list */
           LstNode         lastPtr;  /* last node in list */
 /*  /*
    * fields for sequential access
    */
           Where           atEnd;    /* Where in the list the last access was */
           Boolean         isOpen;   /* true if list has been Lst_Open'ed */
           LstNode         curPtr;   /* current node, if open. NULL if
                                      * *just* opened */
           LstNode         prevPtr;  /* Previous node, if open. Used by
                                      * Lst_Remove */
   } LIST;
   
   typedef LIST *Lst;
   /*
  * basic typedef. This is what the Lst_ functions handle   * basic typedef. This is what the Lst_ functions handle
  */   */
   
 typedef struct  Lst     *Lst;  
 typedef struct  LstNode *LstNode;  
 typedef int (*FindProc) __P((void *, void *));  typedef int (*FindProc) __P((void *, void *));
 typedef void (*SimpleProc) __P((void *));  typedef void (*SimpleProc) __P((void *));
 typedef void (*ForEachProc) __P((void *, void *));  typedef void (*ForEachProc) __P((void *, void *));

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14