summaryrefslogtreecommitdiff
path: root/src/history.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/history.h')
-rw-r--r--src/history.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/history.h b/src/history.h
new file mode 100644
index 0000000..3be757f
--- /dev/null
+++ b/src/history.h
@@ -0,0 +1,31 @@
+#ifndef HISTORY_H
+#define HISTORY_H
+
+#include <stddef.h>
+
+struct program {
+ char *restrict name;
+ size_t run_count;
+};
+
+struct history {
+ size_t count;
+ size_t size;
+ struct program *buf;
+};
+
+[[gnu::nonnull]]
+void history_destroy(struct history *restrict vec);
+
+[[gnu::nonnull]]
+void history_add(struct history *restrict vec, const char *restrict str);
+
+//[[gnu::nonnull]]
+//void history_remove(struct history *restrict vec, const char *restrict str);
+
+[[nodiscard]]
+struct history history_load(void);
+
+void history_save(struct history *history);
+
+#endif /* HISTORY_H */