X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyportenv.h;h=d931f8127525bfe96c2b98a105ccc752fd9b462e;hp=4208e806661fa8f1d95a58bd0e1d9ab623052b84;hb=HEAD;hpb=5062df7307f71d3374da87a7c69102dc3f09da28 diff --git a/direct/yportenv.h b/direct/yportenv.h index 4208e80..5a79f93 100644 --- a/direct/yportenv.h +++ b/direct/yportenv.h @@ -1,8 +1,7 @@ /* * YAFFS: Yet another Flash File System . A NAND-flash specific file system. * - * Copyright (C) 2002-2010 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Charles Manning * @@ -18,17 +17,34 @@ #define __YPORTENV_H__ +#ifdef __rtems__ + +#include +#include +#include +#include + +#define CONFIG_YAFFS_DIRECT 1 +#define CONFIG_YAFFS_SHORT_NAMES_IN_RAM 1 +#define CONFIG_YAFFS_YAFFS2 1 +#define CONFIG_YAFFS_PROVIDE_DEFS 1 +#define CONFIG_YAFFSFS_PROVIDE_VALUES 1 +#define CONFIG_YAFFS_DEFINES_TYPES 1 +#define CONFIG_YAFFS_USE_32_BIT_TIME_T 1 +#define NO_Y_INLINE 1 +#define loff_t off_t + +#endif /* __rtems__ */ + /* Definition of types */ +#ifdef CONFIG_YAFFS_DEFINES_TYPES typedef unsigned char u8; typedef unsigned short u16; -typedef unsigned u32; - - -#ifndef WIN32 -#include +typedef unsigned int u32; +typedef unsigned long long u64; +typedef signed int s32; #endif - #ifdef CONFIG_YAFFS_PROVIDE_DEFS /* File types */ @@ -44,10 +60,6 @@ typedef unsigned u32; #define DT_WHT 14 -#ifndef WIN32 -#include -#endif - /* * Attribute flags. * These are or-ed together to select what has been changed. @@ -101,7 +113,7 @@ struct iattr { #ifdef CONFIG_YAFFSFS_PROVIDE_VALUES #ifndef O_RDONLY -#define O_RDONLY 00 +#define O_RDONLY 00 #endif #ifndef O_WRONLY @@ -112,8 +124,8 @@ struct iattr { #define O_RDWR 02 #endif -#ifndef O_CREAT -#define O_CREAT 0100 +#ifndef O_CREAT +#define O_CREAT 0100 #endif #ifndef O_EXCL @@ -164,7 +176,7 @@ struct iattr { #define EACCES 13 #endif -#ifndef EXDEV +#ifndef EXDEV #define EXDEV 18 #endif @@ -221,12 +233,28 @@ struct iattr { #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 @@ -239,7 +267,42 @@ struct iattr { #define S_IFREG 0100000 #endif -#ifndef S_IREAD +#ifndef S_ISSOCK +#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) +#endif +#ifndef S_ISLNK +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#endif +#ifndef S_ISDIR +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#endif +#ifndef S_ISREG +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#endif +#ifndef S_ISBLK +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#endif +#ifndef S_ISCHR +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#endif +#ifndef S_ISFIFO +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#endif + + +#ifndef S_IRUSR +#define S_IRUSR 0000400 +#endif + +#ifndef S_IWUSR +#define S_IWUSR 0000200 +#endif + +#ifndef S_IXUSR +#define S_IXUSR 0000100 +#endif + +#ifndef S_IREAD #define S_IREAD 0000400 #endif @@ -251,6 +314,16 @@ struct iattr { #define S_IEXEC 0000100 #endif + +#else +#include +#include +#include +#endif + +#endif + +/* Create some less common define values if they don't exist */ #ifndef XATTR_CREATE #define XATTR_CREATE 1 #endif @@ -266,20 +339,16 @@ struct iattr { #define F_OK 0 #endif -#else -#include -#include -#include -#endif - +#ifndef S_ISSOCK +#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) #endif #ifndef Y_DUMP_STACK #define Y_DUMP_STACK() do { } while (0) #endif -#ifndef YBUG -#define YBUG() do {\ +#ifndef BUG +#define BUG() do {\ yaffs_trace(YAFFS_TRACE_BUG,\ "==>> yaffs bug: " __FILE__ " %d",\ __LINE__);\