summaryrefslogtreecommitdiff
path: root/src/platform.h
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrikboy@gmail.com>2024-03-03 14:29:17 +0100
committerAldrik Ramaekers <aldrikboy@gmail.com>2024-03-03 14:29:17 +0100
commita3685d46c883c96e122b12bfebc6975705962e07 (patch)
treecddf8e88aee97ffe791ebaf5a5243d2346d8450d /src/platform.h
v2 initial commit
Diffstat (limited to 'src/platform.h')
-rw-r--r--src/platform.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/platform.h b/src/platform.h
new file mode 100644
index 0000000..66cdcb1
--- /dev/null
+++ b/src/platform.h
@@ -0,0 +1,35 @@
+#ifndef INCLUDE_PLATFORM
+#define INCLUDE_PLATFORM
+
+#include "array.h"
+#include "memory_bucket.h"
+#include "search.h"
+#include "../utf8.h"
+
+typedef struct t_file_content
+{
+ int content_length;
+ void *content;
+ int file_error;
+} file_content;
+
+typedef enum t_file_open_error
+{
+ FILE_ERROR_TOO_MANY_OPEN_FILES_PROCESS = 1,
+ FILE_ERROR_TOO_MANY_OPEN_FILES_SYSTEM = 2,
+ FILE_ERROR_NO_ACCESS = 3,
+ FILE_ERROR_NOT_FOUND = 4,
+ FILE_ERROR_CONNECTION_ABORTED = 5,
+ FILE_ERROR_CONNECTION_REFUSED = 6,
+ FILE_ERROR_NETWORK_DOWN = 7,
+ FILE_ERROR_REMOTE_IO_ERROR = 8,
+ FILE_ERROR_STALE = 9, // NFS server file is removed/renamed
+ FILE_ERROR_GENERIC = 10,
+ FILE_ERROR_TOO_BIG = 11,
+} file_open_error;
+
+file_content platform_read_file(char *path, const char *mode);
+void platform_list_files_block(search_result* result, wchar_t* start_dir = nullptr);
+void platform_list_files(search_result* result);
+
+#endif \ No newline at end of file