/*
* YAFFS: Yet another Flash File System . A NAND-flash specific file system.
*
- * Copyright (C) 2002-2010 Aleph One Ltd.
+ * Copyright (C) 2002-2011 Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
/* Definition of types */
+#ifdef CONFIG_YAFFS_DEFINES_TYPES
typedef unsigned char u8;
typedef unsigned short u16;
-typedef unsigned u32;
-
-
-#ifndef WIN32
-#include <sys/stat.h>
+typedef unsigned int u32;
#endif
#define DT_WHT 14
-#ifndef WIN32
-#include <sys/stat.h>
-#endif
-
/*
* Attribute flags.
* These are or-ed together to select what has been changed.
#ifdef CONFIG_YAFFSFS_PROVIDE_VALUES
#ifndef O_RDONLY
-#define O_RDONLY 00
+#define O_RDONLY 00
#endif
#ifndef O_WRONLY
#define O_RDWR 02
#endif
-#ifndef O_CREAT
-#define O_CREAT 0100
+#ifndef O_CREAT
+#define O_CREAT 0100
#endif
#ifndef O_EXCL
#define EACCES 13
#endif
-#ifndef EXDEV
+#ifndef EXDEV
#define EXDEV 18
#endif
#endif
-// Mode flags
+/* Mode flags */
#ifndef S_IFMT
#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
#define S_IFREG 0100000
#endif
-#ifndef S_IREAD
+#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