1 /* $Id: history.h,v 1.5 2002/01/26 17:24:01 ukai Exp $ */
2 #ifndef HISTORY_H
3 #define HISTORY_H
4 
5 #include "textlist.h"
6 #include "hash.h"
7 
8 #define HIST_LIST_MAX GENERAL_LIST_MAX
9 #define HIST_HASH_SIZE 127
10 
11 typedef ListItem HistItem;
12 
13 typedef GeneralList HistList;
14 
15 typedef struct {
16     HistList *list;
17     HistItem *current;
18     Hash_sv *hash;
19 } Hist;
20 
21 extern Hist *newHist();
22 extern Hist *copyHist(Hist *hist);
23 extern HistItem *unshiftHist(Hist *hist, char *ptr);
24 extern HistItem *pushHist(Hist *hist, char *ptr);
25 extern HistItem *pushHashHist(Hist *hist, char *ptr);
26 extern HistItem *getHashHist(Hist *hist, char *ptr);
27 extern char *lastHist(Hist *hist);
28 extern char *nextHist(Hist *hist);
29 extern char *prevHist(Hist *hist);
30 
31 #endif				/* HISTORY_H */
32