aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2026-03-01 09:18:26 +0200
committerDylan Araps <dylan.araps@gmail.com>2026-03-01 09:18:26 +0200
commit047718235df457cae482eb0f92b06697964f37a6 (patch)
treeeb63e295dd0cc1b12f4027f125c0415f6c66f803 /platform
parent4d9826548a8ea82a71cf70e9f60704909966d038 (diff)
dfm: add initial macOS support.
Thanks to Pinix for the report and necessary changes.
Diffstat (limited to 'platform')
-rw-r--r--platform/apple.h65
-rw-r--r--platform/linux.h4
-rw-r--r--platform/posix.h6
3 files changed, 74 insertions, 1 deletions
diff --git a/platform/apple.h b/platform/apple.h
new file mode 100644
index 0000000..180c4f6
--- /dev/null
+++ b/platform/apple.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2026 Dylan Araps
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef DFM_PLATFORM_APPLE_H
+#define DFM_PLATFORM_APPLE_H
+
+#include <stddef.h>
+
+#define ST_ATIM st_atimespec.tv_sec
+#define ST_MTIM st_mtimespec.tv_sec
+#define ST_CTIM st_ctimespec.tv_sec
+
+struct platform {
+ void *_pad;
+};
+
+static inline int
+fs_watch_init(struct platform *p)
+{
+ (void) p;
+ return 0;
+}
+
+static inline void
+fs_watch(struct platform *p, const char *s)
+{
+ (void) p;
+ (void) s;
+}
+
+static inline int
+fs_watch_pump(struct platform *p, const char **s, size_t *l)
+{
+ (void) p;
+ (void) s;
+ (void) l;
+ return 0;
+}
+
+static inline void
+fs_watch_free(struct platform *p)
+{
+ (void) p;
+}
+
+#endif // DFM_PLATFORM_APPLE_H
+
diff --git a/platform/linux.h b/platform/linux.h
index 09b972d..2fd6718 100644
--- a/platform/linux.h
+++ b/platform/linux.h
@@ -31,6 +31,10 @@
#include "../lib/util.h"
+#define ST_ATIM st_atim.tv_sec
+#define ST_MTIM st_mtim.tv_sec
+#define ST_CTIM st_ctim.tv_sec
+
struct platform {
int inotify_wd;
int inotify_fd;
diff --git a/platform/posix.h b/platform/posix.h
index d098030..611e569 100644
--- a/platform/posix.h
+++ b/platform/posix.h
@@ -24,6 +24,10 @@
#include <stddef.h>
+#define ST_ATIM(s) st_atime
+#define ST_MTIM(s) st_mtime
+#define ST_CTIM(s) st_ctime
+
struct platform {
void *_pad;
};
@@ -58,4 +62,4 @@ fs_watch_free(struct platform *p)
}
#endif // DFM_PLATFORM_POSIX_H
-
+