*** devextras.h	27 Sep 2002 20:50:50 -0000	1.5
--- devextras.h	26 Sep 2005 11:31:17 -0000
@@ -204,6 +204,7 @@
 /*
  * File types
  */
+#ifndef DT_UNKNOWN
 #define DT_UNKNOWN	0
 #define DT_FIFO		1
 #define DT_CHR		2
@@ -213,6 +214,7 @@
 #define DT_LNK		10
 #define DT_SOCK		12
 #define DT_WHT		14
+#endif
 
 #ifndef WIN32
 #include <sys/stat.h>


*** yaffs_fs.c	25 Jun 2005 03:22:23 -0000	1.40
--- yaffs_fs.c	26 Sep 2005 11:31:18 -0000
@@ -625,9 +625,9 @@
 		inode->i_ctime.tv_nsec = 0;
 #else
 		inode->i_rdev = obj->st_rdev;
-		inode->i_atime = obj->st_atime;
-		inode->i_mtime = obj->st_mtime;
-		inode->i_ctime = obj->st_ctime;
+		inode->i_atime = obj->st_atim;
+		inode->i_mtime = obj->st_mtim;
+		inode->i_ctime = obj->st_ctim;
 #endif
 		inode->i_size = yaffs_GetObjectFileLength(obj);
 		inode->i_blocks = (inode->i_size + 511) >> 9;


*** yaffs_guts.c	25 Jun 2005 03:22:23 -0000	1.42
--- yaffs_guts.c	26 Sep 2005 11:31:18 -0000
@@ -1116,12 +1116,12 @@
 static int yaffs_SoftDeleteWorker(yaffs_Object *in, yaffs_Tnode *tn, __u32 level, int chunkOffset)
 {
 	int i;
-	int chunkInInode;
+//	int chunkInInode;
 	int theChunk;
 	yaffs_BlockInfo *theBlock;
-	yaffs_Tags tags;
-	int found;
-	int chunkDeleted;
+//	yaffs_Tags tags;
+//	int found;
+//	int chunkDeleted;
 	int allDone = 1;
 	
 	
@@ -1665,7 +1665,7 @@
 
 #else
 
-		theObject->st_atime = theObject->st_mtime =	theObject->st_ctime = Y_CURRENT_TIME;
+		theObject->st_atim = theObject->st_mtim =	theObject->st_ctim = Y_CURRENT_TIME;
 
 #endif
 		switch(type)
@@ -1771,7 +1771,7 @@
 		
 #else
 
-		in->st_atime = in->st_mtime = in->st_ctime = Y_CURRENT_TIME;
+		in->st_atim = in->st_mtim = in->st_ctim = Y_CURRENT_TIME;
 		in->st_rdev  = rdev;
 		in->st_uid   = uid;
 		in->st_gid   = gid;
@@ -3036,9 +3036,9 @@
 #else
 		oh->st_uid = in->st_uid;
 		oh->st_gid = in->st_gid;
-		oh->st_atime = in->st_atime;
-		oh->st_mtime = in->st_mtime;
-		oh->st_ctime = in->st_ctime;
+		oh->st_atim = in->st_atim;
+		oh->st_mtim = in->st_mtim;
+		oh->st_ctim = in->st_ctim;
 		oh->st_rdev = in->st_rdev;
 #endif	
 		if(in->parent)
@@ -3142,7 +3142,7 @@
 	int i;
 	yaffs_ChunkCache *cache;
 	int chunkWritten = 0;
-	int nBytes;
+//	int nBytes;
 	int nCaches = obj->myDev->nShortOpCaches;
 	
 	if  (nCaches > 0)
@@ -3746,7 +3746,7 @@
 #ifdef CONFIG_YAFFS_WINCE
 			yfsd_WinFileTimeNow(in->win_mtime);
 #else
-			in->st_mtime = Y_CURRENT_TIME;
+			in->st_mtim = Y_CURRENT_TIME;
 #endif
 		}
 
@@ -4203,9 +4203,9 @@
 #else
 					in->st_uid   = oh->st_uid;
 					in->st_gid   = oh->st_gid;
-					in->st_atime = oh->st_atime;
-					in->st_mtime = oh->st_mtime;
-					in->st_ctime = oh->st_ctime;
+					in->st_atim = oh->st_atim;
+					in->st_mtim = oh->st_mtim;
+					in->st_ctim = oh->st_ctim;
 					in->st_rdev = oh->st_rdev;
 #endif
 					in->chunkId  = chunk;
@@ -4229,9 +4229,9 @@
 #else
 					in->st_uid   = oh->st_uid;
 					in->st_gid   = oh->st_gid;
-					in->st_atime = oh->st_atime;
-					in->st_mtime = oh->st_mtime;
-					in->st_ctime = oh->st_ctime;
+					in->st_atim = oh->st_atim;
+					in->st_mtim = oh->st_mtim;
+					in->st_ctim = oh->st_ctim;
 					in->st_rdev = oh->st_rdev;
 #endif
 					in->chunkId  = chunk;
@@ -4608,9 +4608,12 @@
 	if(valid & ATTR_UID) obj->st_uid = attr->ia_uid;
 	if(valid & ATTR_GID) obj->st_gid = attr->ia_gid;
 	
-	if(valid & ATTR_ATIME) obj->st_atime = Y_TIME_CONVERT(attr->ia_atime);
-	if(valid & ATTR_CTIME) obj->st_ctime = Y_TIME_CONVERT(attr->ia_ctime);
-	if(valid & ATTR_MTIME) obj->st_mtime = Y_TIME_CONVERT(attr->ia_mtime);
+	if(valid & ATTR_ATIME)
+		obj->st_atim = Y_TIME_CONVERT(attr->ia_atime);
+	if(valid & ATTR_CTIME)
+		obj->st_ctim = Y_TIME_CONVERT(attr->ia_ctime);
+	if(valid & ATTR_MTIME)
+		obj->st_mtim = Y_TIME_CONVERT(attr->ia_mtime);
 
 	
 	if(valid & ATTR_SIZE) yaffs_ResizeFile(obj,attr->ia_size);
@@ -4630,9 +4633,9 @@
 	attr->ia_gid = obj->st_gid;		valid |= ATTR_GID;
 	
 	
-	Y_TIME_CONVERT(attr->ia_atime) = obj->st_atime;	valid |= ATTR_ATIME;
-	Y_TIME_CONVERT(attr->ia_ctime) = obj->st_ctime;	valid |= ATTR_CTIME;
-	Y_TIME_CONVERT(attr->ia_mtime) = obj->st_mtime;	valid |= ATTR_MTIME;
+	Y_TIME_CONVERT(attr->ia_atime) = obj->st_atim;	valid |= ATTR_ATIME;
+	Y_TIME_CONVERT(attr->ia_ctime) = obj->st_ctim;	valid |= ATTR_CTIME;
+	Y_TIME_CONVERT(attr->ia_mtime) = obj->st_mtim;	valid |= ATTR_MTIME;
 
 	attr->ia_size = yaffs_GetFileSize(obj); valid |= ATTR_SIZE;
 	
@@ -5032,10 +5035,3 @@
 	yaffs_ObjectTest(dev);	
 }
 #endif
-
-
-
-
-
-
-


*** yaffs_guts.h	25 Jun 2005 03:22:24 -0000	1.20
--- yaffs_guts.h	26 Sep 2005 11:31:19 -0000
@@ -200,9 +200,9 @@
 #else
 	__u32 st_uid;   // user ID of owner
 	__u32 st_gid;    // group ID of owner 
-	__u32 st_atime; // time of last access
-	__u32 st_mtime; // time of last modification
-	__u32 st_ctime; // time of last change
+	__u32 st_atim; // time of last access
+	__u32 st_mtim; // time of last modification
+	__u32 st_ctim; // time of last change
 #endif
 
 	// File size  applies to files only
@@ -349,9 +349,9 @@
 #else
 	__u32 st_uid;   	// user ID of owner
 	__u32 st_gid;    	// group ID of owner 
-	__u32 st_atime; 	// time of last access
-	__u32 st_mtime; 	// time of last modification
-	__u32 st_ctime; 	// time of last change
+	__u32 st_atim; 	// time of last access
+	__u32 st_mtim; 	// time of last modification
+	__u32 st_ctim; 	// time of last change
 #endif
 
 	__u32 st_rdev; 	    // device stuff for block and char devices
@@ -594,5 +594,3 @@
 
 
 #endif
-
-


*** yaffs_mtdif.c	19 Sep 2004 08:14:50 -0000	1.10
--- yaffs_mtdif.c	26 Sep 2005 11:31:20 -0000
@@ -13,6 +13,8 @@
  *
  */
 
+#include <linux/config.h>
+
 const char *yaffs_mtdif_c_version = "$Id: yaffs_mtdif.c,v 1.10 2004/09/19 08:14:50 charles Exp $";
 
 #ifdef CONFIG_YAFFS_MTD_ENABLED
@@ -27,7 +29,6 @@
 
 #ifndef	CONFIG_YAFFS_USE_OLD_MTD
 #include "linux/mtd/nand.h"
-#endif
 
 struct nand_oobinfo yaffs_oobinfo = {
 	useecc: 1,
@@ -41,6 +42,7 @@
 struct nand_oobinfo yaffs_noeccinfo = {
 	useecc: 0,
 };
+#endif
 
 
 int nandmtd_WriteChunkToNAND(yaffs_Device *dev,int chunkInNAND,const __u8 *data, yaffs_Spare *spare)


*** yaffs_ramem.c	26 Nov 2002 01:15:37 -0000	1.6
--- yaffs_ramem.c	26 Sep 2005 11:31:21 -0000
@@ -19,6 +19,8 @@
 
 #ifndef __KERNEL__
 #define CONFIG_YAFFS_RAM_ENABLED
+#else
+#include <linux/config.h>
 #endif
 
 #ifdef CONFIG_YAFFS_RAM_ENABLED


*** direct/dtest.c	31 Aug 2005 09:21:12 -0000	1.7
--- direct/dtest.c	26 Sep 2005 11:31:22 -0000
@@ -2,9 +2,10 @@
 * Test code for the "direct" interface. 
 */
 
-
 #include <stdio.h>
 #include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
 
 #include "yaffsfs.h"
 
@@ -292,6 +293,8 @@
 	
 }
 
+extern int yaffs_DumpDevStruct(const char *path);
+
 int long_test(int argc, char *argv[])
 {
 
@@ -618,7 +621,7 @@
 	// This test reporoduces a bug whereby YAFFS caching is buypassed
 	// resulting in erroneous reads after writes.
 	int a;
-	int i;
+//	int i;
 	char buffer1[1000];
 	char buffer2[1000];
 	


*** direct/yaffsfs.c	31 Aug 2005 09:21:12 -0000	1.8
--- direct/yaffsfs.c	26 Sep 2005 11:31:22 -0000
@@ -410,19 +410,19 @@
 			
 			// Check file permissions
 			if( (oflag & (O_RDWR | O_WRONLY)) == 0 &&     // ie O_RDONLY
-			   !(obj->yst_mode & S_IREAD))
+			   !(obj->st_mode & S_IREAD))
 			{
 				openDenied = 1;
 			}
 
 			if( (oflag & O_RDWR) && 
-			   !(obj->yst_mode & S_IREAD))
+			   !(obj->st_mode & S_IREAD))
 			{
 				openDenied = 1;
 			}
 
 			if( (oflag & (O_RDWR | O_WRONLY)) && 
-			   !(obj->yst_mode & S_IWRITE))
+			   !(obj->st_mode & S_IWRITE))
 			{
 				openDenied = 1;
 			}
@@ -807,7 +807,7 @@
 	{
     	buf->yst_dev = (int)obj->myDev->genericDevice;
     	buf->yst_ino = obj->objectId;
-    	buf->yst_mode = obj->yst_mode & ~S_IFMT; // clear out file type bits
+    	buf->yst_mode = obj->st_mode & ~S_IFMT; // clear out file type bits
 	
 		if(obj->variantType == YAFFS_OBJECT_TYPE_DIRECTORY) 
 		{
@@ -825,13 +825,13 @@
     	buf->yst_nlink = yaffs_GetObjectLinkCount(obj);
     	buf->yst_uid = 0;    
     	buf->yst_gid = 0;;     
-    	buf->yst_rdev = obj->yst_rdev;
+    	buf->yst_rdev = obj->st_rdev;
     	buf->yst_size = yaffs_GetObjectFileLength(obj);
 		buf->yst_blksize = YAFFS_BYTES_PER_CHUNK;
     	buf->yst_blocks = (buf->yst_size + YAFFS_BYTES_PER_CHUNK -1)/YAFFS_BYTES_PER_CHUNK;
-    	buf->yst_atime = obj->yst_atime; 
-    	buf->yst_ctime = obj->yst_ctime; 
-    	buf->yst_mtime = obj->yst_mtime; 
+    	buf->yst_atime = obj->st_atim;
+    	buf->yst_ctime = obj->st_ctim;
+    	buf->yst_mtime = obj->st_mtim;
 		retVal = 0;
 	}
 	return retVal;
@@ -912,7 +912,7 @@
 	
 	if(obj)
 	{
-		obj->yst_mode = mode;
+		obj->st_mode = mode;
 		obj->dirty = 1;
 		result = yaffs_FlushFile(obj,0);
 	}


*** utils/Makefile	11 Mar 2003 05:16:53 -0000	1.5
--- utils/Makefile	26 Sep 2005 11:31:23 -0000
@@ -14,7 +14,8 @@
 
 ## Change or override  KERNELDIR to your kernel
 
-KERNELDIR = /usr/src/kernel-headers-2.4.18
+#KERNELDIR = /usr/src/kernel-headers-2.4.18
+KERNELDIR = /usr/src/linux
 
 CFLAGS =   -I$(KERNELDIR)/include -I.. -O2 -Wall -DCONFIG_YAFFS_UTIL
 CFLAGS+=   -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations
@@ -27,7 +28,7 @@
 
 MKYAFFSOBJS = mkyaffs.o
 
-MKYAFFSIMAGEOBJS = mkyaffsimage.o nand_ecc.o
+MKYAFFSIMAGEOBJS = mkyaffsimage.o yaffs_ecc.o
 
 
 all: mkyaffs mkyaffsimage
@@ -44,8 +45,8 @@
 mkyaffs: $(MKYAFFSOBJS)
 	$(CC) -o $@ $(MKYAFFSOBJS)
 
-nand_ecc.c:
-	ln -s ../nand_ecc.c nand_ecc.c
+yaffs_ecc.c:
+	ln -s ../yaffs_ecc.c yaffs_ecc.c
 
 
 clean:


*** utils/mkyaffs.c	12 Mar 2003 19:54:07 -0000	1.8
--- utils/mkyaffs.c	26 Sep 2005 11:31:23 -0000
@@ -25,6 +25,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <time.h>
 #include <unistd.h>
 #include <sys/stat.h>


*** utils/mkyaffsimage.c	16 Jul 2003 03:00:48 -0000	1.7
--- utils/mkyaffsimage.c	26 Sep 2005 11:31:24 -0000
@@ -32,15 +32,17 @@
 #include <unistd.h>
 
 #include "yaffs_guts.h"
-
+#include "yaffs_ecc.h"
 
 #define MAX_OBJECTS 10000
 
 const char * mkyaffsimage_c_version = "$Id: mkyaffsimage.c,v 1.7 2003/07/16 03:00:48 charles Exp $";
 
 // External functions for ECC on data
-void nand_calculate_ecc (const u_char *dat, u_char *ecc_code);
-int nand_correct_data (u_char *dat, u_char *read_ecc, u_char *calc_ecc);
+//void nand_calculate_ecc (const u_char *dat, u_char *ecc_code);
+//int nand_correct_data (u_char *dat, u_char *read_ecc, u_char *calc_ecc);
+#define nand_calculate_ecc	yaffs_ECCCalculate
+#define nand_correct_data	yaffs_ECCCorrect
 
 
 typedef struct
@@ -293,9 +295,9 @@
     // Regular POSIX.
     oh->st_uid = SWAP32(oh->st_uid);
     oh->st_gid = SWAP32(oh->st_gid);
-    oh->st_atime = SWAP32(oh->st_atime);
-    oh->st_mtime = SWAP32(oh->st_mtime);
-    oh->st_ctime = SWAP32(oh->st_ctime);
+    oh->st_atim = SWAP32(oh->st_atim);
+    oh->st_mtim = SWAP32(oh->st_mtim);
+    oh->st_ctim = SWAP32(oh->st_ctim);
 #endif
 
     oh->fileSize = SWAP32(oh->fileSize); // Aiee. An int... signed, at that!
@@ -354,9 +356,9 @@
 		oh->st_uid = s->st_uid;
 // NCB 12/9/02		oh->st_gid = s->st_uid;
 		oh->st_gid = s->st_gid;
-		oh->st_atime = s->st_atime;
-		oh->st_mtime = s->st_mtime;
-		oh->st_ctime = s->st_ctime;
+		oh->st_atim = s->st_atime;
+		oh->st_mtim = s->st_mtime;
+		oh->st_ctim = s->st_ctime;
 		oh->st_rdev  = s->st_rdev;
 	}
 	
@@ -536,7 +538,7 @@
 	
 	printf("mkyaffsimage: image building tool for YAFFS built "__DATE__"\n");
 	
-	if(argc <= 3)
+	if(argc < 3)
 	{
 		printf("usage: mkyaffsimage dir image_file [convert]\n");
 		printf("           dir        the directory tree to be converted\n");
@@ -589,9 +591,9 @@
 		       "%d objects in %d directories\n"
 		       "%d NAND pages\n",nObjects, nDirectories, nPages);
 	}
-	
+
 	close(outFile);
-	
+
 	exit(0);
 }	
 


