diff options
Diffstat (limited to 'examples/dte/file-history.h')
| -rw-r--r-- | examples/dte/file-history.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/dte/file-history.h b/examples/dte/file-history.h new file mode 100644 index 0000000..0a51891 --- /dev/null +++ b/examples/dte/file-history.h @@ -0,0 +1,29 @@ +#ifndef FILE_HISTORY_H +#define FILE_HISTORY_H + +#include <stdbool.h> +#include "util/hashmap.h" +#include "util/macros.h" + +typedef struct FileHistoryEntry { + struct FileHistoryEntry *next; + struct FileHistoryEntry *prev; + char *filename; + unsigned long row; + unsigned long col; +} FileHistoryEntry; + +typedef struct { + char *filename; + HashMap entries; + FileHistoryEntry *first; + FileHistoryEntry *last; +} FileHistory; + +void file_history_add(FileHistory *hist, unsigned long row, unsigned long col, const char *filename); +void file_history_load(FileHistory *hist, char *filename); +void file_history_save(const FileHistory *hist); +bool file_history_find(const FileHistory *hist, const char *filename, unsigned long *row, unsigned long *col) WARN_UNUSED_RESULT; +void file_history_free(FileHistory *history); + +#endif |
