*** empty log message ***
[yaffs/.git] / yportenv.h
index 63931749fc1d10964209153b7f370061048b84f7..42af9d197a037448566017db0c7950b47dea26b1 100644 (file)
-/*
- * YAFFS: Yet another FFS. A NAND-flash specific file system. 
- * yportenv.h: Portable services used by yaffs. This is done to allow
- * simple migration from kernel space into app space for testing.
- *
- * Copyright (C) 2002 Aleph One Ltd.
- *   for Toby Churchill Ltd and Brightstar Engineering
- *
- * Created by Charles Manning <charles@aleph1.co.uk>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 2.1 as
- * published by the Free Software Foundation.
- *
- *
- * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
- *
- * $Id: yportenv.h,v 1.5 2002-09-27 20:50:50 charles Exp $
- *
- */
-#ifndef __PORTENV_H__
-#define __PORTENV_H__
-
-
-#if defined WIN32
-
-// Win32
-#include "stdlib.h"
-#include "stdio.h"
-#include "string.h"
-
-#define YMALLOC(x) malloc(x)
-#define YFREE(x)   free(x)
-
-
-#define YINFO(s) YPRINTF(( __FILE__ " %d %s\n",__LINE__,s))
-#define YALERT(s) YINFO(s)
-
-#include <windows.h>
-
-#define YAFFS_LOSTNFOUND_NAME          "LOST_CLUSTERS"
-#define YAFFS_LOSTNFOUND_PREFIX                "OBJ"
-
-#define YPRINTF(x)
-
-// Always pass the sum compare to overcome the case insensitivity issue
-#define yaffs_SumCompare(x,y) 1
-#define yaffs_strcmp(a,b) _stricmp(a,b)
-
-
-#define u_char unsigned char
-#define loff_t int
-#define S_IFDIR                                                04000
-
-#define S_ISFIFO(x) 0
-#define S_ISCHR(x) 0
-#define S_ISBLK(x) 0
-#define S_ISSOCK(x) 0
-
-extern unsigned yfsd_U32FileTimeNow(void);
-
-#define CURRENT_TIME                            yfsd_U32FileTimeNow()
-#define YAFFS_ROOT_MODE                                FILE_ATTRIBUTE_ARCHIVE
-#define YAFFS_LOSTNFOUND_MODE          (FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_HIDDEN)
-
-
-#define TENDSTR "\r\n"
-#define TSTR(x) TEXT(x)
-#define T(x) RETAILMSG(1, x)
-
-
-#elif  defined __KERNEL__
-
-
-
-// Linux kernel
-#include "linux/kernel.h"
-#include "linux/mm.h"
-#include "linux/string.h"
-#include "linux/slab.h"
-#define YAFFS_LOSTNFOUND_NAME          "lost+found"
-#define YAFFS_LOSTNFOUND_PREFIX                "obj"
-
-#define YPRINTF(x) printk x
-#define YMALLOC(x) kmalloc(x,GFP_KERNEL)
-#define YFREE(x)   kfree(x)
-
-#define YAFFS_ROOT_MODE                                0666
-#define YAFFS_LOSTNFOUND_MODE          0666
-
-
-#define yaffs_SumCompare(x,y) ((x) == (y))
-#define yaffs_strcmp(a,b) strcmp(a,b)
-
-#define TENDSTR "\n"
-#define TSTR(x) KERN_DEBUG x
-#define T(x) printk x
-
-
-#else
-
-// Linux application
-#include "stdlib.h"
-#include "stdio.h"
-#include "string.h"
-
-#define YMALLOC(x) malloc(x)
-#define YFREE(x)   free(x)
-
-
-#define YINFO(s) YPRINTF(( __FILE__ " %d %s\n",__LINE__,s))
-#define YALERT(s) YINFO(s)
-
-
-#define TENDSTR "\n"
-#define TSTR(x) x
-#define T(x) printf x
-
-
-#define YAFFS_LOSTNFOUND_NAME          "lost+found"
-#define YAFFS_LOSTNFOUND_PREFIX                "obj"
-#define YPRINTF(x) printf x
-
-#define CURRENT_TIME 0
-#define YAFFS_ROOT_MODE                                0666
-#define YAFFS_LOSTNFOUND_MODE          0666
-
-#define yaffs_SumCompare(x,y) ((x) == (y))
-#define yaffs_strcmp(a,b) strcmp(a,b)
-
-#endif 
-
-
-
-#undef YINFO
-
-
-#define YINFO(s) YPRINTF((KERN_DEBUG __FILE__ " %d %s\n",__LINE__,s))
-#define YALERT(s) YINFO(s)
-
-#define YBUG() do{YINFO("bug");} while(0)
-
-
-#endif
+/*\r
+ * YAFFS: Yet another FFS. A NAND-flash specific file system. \r
+ * yportenv.h: Portable services used by yaffs. This is done to allow\r
+ * simple migration from kernel space into app space for testing.\r
+ *\r
+ * Copyright (C) 2002 Aleph One Ltd.\r
+ *   for Toby Churchill Ltd and Brightstar Engineering\r
+ *\r
+ * Created by Charles Manning <charles@aleph1.co.uk>\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU Lesser General Public License version 2.1 as\r
+ * published by the Free Software Foundation.\r
+ *\r
+ *\r
+ * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.\r
+ *\r
+ * $Id: yportenv.h,v 1.6 2002-11-08 07:19:42 charles Exp $\r
+ *\r
+ */\r
\r
+#ifndef __YPORTENV_H__\r
+#define __YPORTENV_H__\r
+\r
+\r
+#if defined CONFIG_YAFFS_WINCE\r
+\r
+// CONFIG_YAFFS_WINCE\r
+#include "stdlib.h"\r
+#include "stdio.h"\r
+#include "string.h"\r
+\r
+#define YMALLOC(x) malloc(x)\r
+#define YFREE(x)   free(x)\r
+\r
+\r
+#define YINFO(s) YPRINTF(( __FILE__ " %d %s\n",__LINE__,s))\r
+#define YALERT(s) YINFO(s)\r
+\r
+#include <windows.h>\r
+\r
+#define YAFFS_LOSTNFOUND_NAME          "Lost Clusters"\r
+#define YAFFS_LOSTNFOUND_PREFIX                "OBJ"\r
+\r
+#define YPRINTF(x)\r
+\r
+// Always pass the sum compare to overcome the case insensitivity issue\r
+#define yaffs_SumCompare(x,y) ((x) == (y))\r
+#define yaffs_strcmp(a,b) _stricmp(a,b)\r
+\r
+\r
+#define u_char unsigned char\r
+#define loff_t int\r
+#define S_IFDIR                                                04000\r
+\r
+#define S_ISFIFO(x) 0\r
+#define S_ISCHR(x) 0\r
+#define S_ISBLK(x) 0\r
+#define S_ISSOCK(x) 0\r
+\r
+extern unsigned yfsd_U32FileTimeNow(void);\r
+\r
+#define CURRENT_TIME                            yfsd_U32FileTimeNow()\r
+#define YAFFS_ROOT_MODE                                FILE_ATTRIBUTE_ARCHIVE\r
+#define YAFFS_LOSTNFOUND_MODE          FILE_ATTRIBUTE_HIDDEN\r
+\r
+\r
+#define TENDSTR L"\r\n"\r
+#define TSTR(x) TEXT(x)\r
+#define TOUT(x) RETAILMSG(1, x)\r
+\r
+\r
+#elif  defined __KERNEL__\r
+\r
+\r
+\r
+// Linux kernel\r
+#include "linux/kernel.h"\r
+#include "linux/mm.h"\r
+#include "linux/string.h"\r
+#include "linux/slab.h"\r
+\r
+\r
+#define YAFFS_LOSTNFOUND_NAME          "lost+found"\r
+#define YAFFS_LOSTNFOUND_PREFIX                "obj"\r
+\r
+//#define YPRINTF(x) printk x\r
+#define YMALLOC(x) kmalloc(x,GFP_KERNEL)\r
+#define YFREE(x)   kfree(x)\r
+\r
+#define YAFFS_ROOT_MODE                                0666\r
+#define YAFFS_LOSTNFOUND_MODE          0666\r
+\r
+\r
+#define yaffs_SumCompare(x,y) ((x) == (y))\r
+#define yaffs_strcmp(a,b) strcmp(a,b)\r
+\r
+#define TENDSTR "\n"\r
+#define TSTR(x) KERN_DEBUG x\r
+#define TOUT(p) printk p\r
+\r
+\r
+#else\r
+\r
+// Linux application\r
+#include "stdlib.h"\r
+#include "stdio.h"\r
+#include "string.h"\r
+\r
+#define YMALLOC(x) malloc(x)\r
+#define YFREE(x)   free(x)\r
+\r
+\r
+//#define YINFO(s) YPRINTF(( __FILE__ " %d %s\n",__LINE__,s))\r
+//#define YALERT(s) YINFO(s)\r
+\r
+\r
+#define TENDSTR "\n"\r
+#define TSTR(x) x\r
+#define TOUT(p) printf p\r
+\r
+\r
+#define YAFFS_LOSTNFOUND_NAME          "lost+found"\r
+#define YAFFS_LOSTNFOUND_PREFIX                "obj"\r
+//#define YPRINTF(x) printf x\r
+\r
+#define CURRENT_TIME 0\r
+#define YAFFS_ROOT_MODE                                0666\r
+#define YAFFS_LOSTNFOUND_MODE          0666\r
+\r
+#define yaffs_SumCompare(x,y) ((x) == (y))\r
+#define yaffs_strcmp(a,b) strcmp(a,b)\r
+\r
+#endif \r
+\r
+\r
+extern unsigned yaffs_traceMask;\r
+\r
+#define YAFFS_TRACE_ERROR              0x0001\r
+#define YAFFS_TRACE_OS                 0x0002\r
+#define YAFFS_TRACE_ALLOCATE   0x0004\r
+#define YAFFS_TRACE_SCAN               0x0008\r
+#define YAFFS_TRACE_BAD_BLOCKS 0x0010\r
+#define YAFFS_TRACE_ERASE              0x0020\r
+#define YAFFS_TRACE_TRACING            0x0100\r
+#define YAFFS_TRACE_ALWAYS             0x0200\r
+#define YAFFS_TRACE_BUG                        0x8000\r
+\r
+#define T(mask,p) do{ if((mask) & (yaffs_traceMask | YAFFS_TRACE_ERROR)) TOUT(p);} while(0) \r
+\r
+//#undef YINFO\r
+\r
+\r
+//#define YINFO(s) YPRINTF((KERN_DEBUG __FILE__ " %d %s\n",__LINE__,s))\r
+//#define YALERT(s) YINFO(s)\r
+#ifdef CONFIG_YAFFS_WINCE\r
+#define YBUG() T(YAFFS_TRACE_BUG,(TSTR("==>> yaffs bug: %s %d" TENDSTR),TEXT(__FILE__),__LINE__))\r
+#else\r
+#define YBUG() T(YAFFS_TRACE_BUG,(TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),__LINE__))\r
+#endif\r
+#endif\r