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