summaryrefslogtreecommitdiff
path: root/direct/yportenv.h
diff options
context:
space:
mode:
Diffstat (limited to 'direct/yportenv.h')
-rw-r--r--direct/yportenv.h34
1 files changed, 25 insertions, 9 deletions
diff --git a/direct/yportenv.h b/direct/yportenv.h
index 223cae1..69509e0 100644
--- a/direct/yportenv.h
+++ b/direct/yportenv.h
@@ -39,11 +39,6 @@ typedef unsigned u32;
#endif /* __rtems__ */
-#ifndef WIN32
-#include <sys/stat.h>
-#endif
-
-
#ifdef CONFIG_YAFFS_PROVIDE_DEFS
/* File types */
@@ -59,10 +54,6 @@ typedef unsigned u32;
#define DT_WHT 14
-#ifndef WIN32
-#include <sys/stat.h>
-#endif
-
/*
* Attribute flags.
* These are or-ed together to select what has been changed.
@@ -242,6 +233,22 @@ struct iattr {
#define S_IFMT 0170000
#endif
+#ifndef S_IFSOCK
+#define S_IFSOCK 0140000
+#endif
+
+#ifndef S_IFIFO
+#define S_IFIFO 0010000
+#endif
+
+#ifndef S_IFCHR
+#define S_IFCHR 0020000
+#endif
+
+#ifndef S_IFBLK
+#define S_IFBLK 0060000
+#endif
+
#ifndef S_IFLNK
#define S_IFLNK 0120000
#endif
@@ -254,6 +261,15 @@ struct iattr {
#define S_IFREG 0100000
#endif
+#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+
+
#ifndef S_IREAD
#define S_IREAD 0000400
#endif