aboutsummaryrefslogtreecommitdiff
path: root/include/data_management.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/data_management.h')
-rw-r--r--include/data_management.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/data_management.h b/include/data_management.h
new file mode 100644
index 0000000..e5d1581
--- /dev/null
+++ b/include/data_management.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+/* Copyright 2025 Thorsten Töpper
+ *
+ * vim:ts=4:sw=4:expandtab
+ */
+
+#ifndef LIST_MANAGEMENT_H
+#define LIST_MANAGEMENT_H
+
+#include <sys/stat.h>
+
+/* === DEFINITIONS === */
+
+struct list_node {
+ struct list_node *next;
+ char fname[256];
+ struct stat ln_stat;
+};
+
+struct list_head {
+ struct list_node *first;
+};
+
+struct list_node *create_node(char *fname, struct stat *ln_stat);
+struct list_head *create_list_sort_reversed(struct list_head *list);
+void destroy_list(struct list_head *list);
+
+struct list_head *get_data_from_directory(char *path);
+int insert_sorted_by_size(struct list_head *list, struct list_node *node);
+int insert_sorted_by_time(struct list_head *list, struct list_node *node);
+
+
+#endif
+