X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fyportenv.h;h=d931f8127525bfe96c2b98a105ccc752fd9b462e;hp=0d0d0faa2cf6ca04f4b5340830deaa74e2df3b35;hb=HEAD;hpb=d43e901b5bf74d8d40dda18f0d5da15c76245510 diff --git a/direct/yportenv.h b/direct/yportenv.h index 0d0d0fa..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-2011 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering + * Copyright (C) 2002-2018 Aleph One Ltd. * * Created by Charles Manning * @@ -18,11 +17,33 @@ #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; - +typedef unsigned int u32; +typedef unsigned long long u64; +typedef signed int s32; +#endif #ifdef CONFIG_YAFFS_PROVIDE_DEFS /* File types */ @@ -92,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 @@ -103,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 @@ -155,7 +176,7 @@ struct iattr { #define EACCES 13 #endif -#ifndef EXDEV +#ifndef EXDEV #define EXDEV 18 #endif @@ -212,7 +233,7 @@ struct iattr { #endif -// Mode flags +/* Mode flags */ #ifndef S_IFMT #define S_IFMT 0170000 @@ -246,16 +267,42 @@ struct iattr { #define S_IFREG 0100000 #endif +#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_IREAD +#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 @@ -267,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 @@ -282,12 +339,8 @@ 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