gl: clear w, h on reinit
[libpicofe.git] / posix.h
diff --git a/posix.h b/posix.h
index 33ca96c..6ab9a7f 100644 (file)
--- a/posix.h
+++ b/posix.h
@@ -1,5 +1,8 @@
+#ifndef LIBPICOFE_POSIX_H
+#define LIBPICOFE_POSIX_H
+
 /* define POSIX stuff: dirent, scandir, getcwd, mkdir */
-#if defined(__linux__) || defined(__MINGW32__)
+#if defined(__FreeBSD__) || defined(__MACH__) || defined(__linux__) || defined(__MINGW32__)
 
 #include <dirent.h>
 #include <unistd.h>
 #define DT_DIR 0
 #endif
 
+#elif defined(__PSP__)
+
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+#ifndef DT_DIR
+/* map PSP names to posix. needs special scandir() function to mask rwx bits */
+#define d_type d_stat.st_attr
+#define DT_LNK FIO_SO_IFLNK
+#define DT_DIR FIO_SO_IFDIR
+#define DT_REG FIO_SO_IFREG
+#define DT_UNKNOWN 0
+#endif
+
 #else
 
 #error "must provide posix"
 
 #endif
 
-
+#endif // LIBPICOFE_POSIX_H