Allow use of page zero
[yaffs2.git] / yaffs_guts.h
index c222c09c02bf2d02b37ea0665b8f18149b19535e..3798714c7976dd809cc281cc8a5e487f7fc536ea 100644 (file)
@@ -14,7 +14,7 @@
  *
  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
  *
- * $Id: yaffs_guts.h,v 1.4 2005-04-24 09:57:06 charles Exp $
+ * $Id: yaffs_guts.h,v 1.6 2005-07-05 23:54:59 charles Exp $
  */
 
 #ifndef __YAFFS_GUTS_H__
@@ -424,10 +424,10 @@ struct  yaffs_ObjectStruct
        struct list_head siblings;      // siblings in a directory
                                                                // also used for linking up the free list
                
-       // Where's my data in NAND?
+       // Where's my object header in NAND?
        int chunkId;            // where it lives
 
-       int nDataChunks;        
+       int nDataChunks;        // Number of data chunks attached to the file.  
        
        __u32 objectId;         // the object id value
        
@@ -558,6 +558,12 @@ struct yaffs_DeviceStruct
 
        int isMounted;
        
+       // Stuff to support block offsetting to support start block zero
+       int internalStartBlock;
+       int internalEndBlock;
+       int blockOffset;
+       int chunkOffset;
+       
        // Block Info
        yaffs_BlockInfo *blockInfo;
        __u8 *chunkBits;   // bitmap of chunks in use
@@ -686,7 +692,7 @@ int yaffs_GetAttributes(yaffs_Object *obj, struct iattr *attr);
 
 // File operations
 int yaffs_ReadDataFromFile(yaffs_Object *obj, __u8 *buffer, __u32 offset, int nBytes);
-int yaffs_WriteDataToFile(yaffs_Object *obj, const __u8 *buffer, __u32 offset, int nBytes);
+int yaffs_WriteDataToFile(yaffs_Object *obj, const __u8 *buffer, __u32 offset, int nBytes, int writeThrough);
 int yaffs_ResizeFile(yaffs_Object *obj, int newSize);
 
 yaffs_Object *yaffs_MknodFile(yaffs_Object *parent,const YCHAR *name, __u32 mode, __u32 uid, __u32 gid);