*** empty log message ***
[yaffs/.git] / yaffs_guts.h
index e6f74ddbc72daa600a13cc19951eaa5f8e65fdaa..3ae36e7214d16dc622d16b52678546925e63e460 100644 (file)
@@ -108,7 +108,9 @@ typedef struct
 // Block data in RAM
 
 typedef enum {
-       YAFFS_BLOCK_STATE_UNKNOWN       = 0,
+       YAFFS_BLOCK_STATE_UddNKNOWN     = 0,
+       YAFFS_BLOCK_STATE_SCANNING,             // Used while the block is being scanned.
+                                                                       // NB Don't erase blocks while they're being scanned
        
        YAFFS_BLOCK_STATE_EMPTY,                // This block is empty
        
@@ -334,9 +336,11 @@ struct yaffs_DeviceStruct
        int (*readChunkFromNAND)(struct yaffs_DeviceStruct *dev,int chunkInNAND, __u8 *data, yaffs_Spare *spare);
        int (*eraseBlockInNAND)(struct yaffs_DeviceStruct *dev,int blockInNAND);        
        int (*initialiseNAND)(struct yaffs_DeviceStruct *dev);
-       
 
-       
+#ifdef __KERNEL__
+       void (*putSuperFunc)(struct super_block *sb);
+#endif
+
        // Runtime parameters.
        yaffs_BlockInfo *blockInfo;
        int   nErasedBlocks;
@@ -418,6 +422,8 @@ yaffs_Object *yaffs_FindObjectByNumber(yaffs_Device *dev,int number);
 // Link operations
 yaffs_Object *yaffs_Link(yaffs_Object *parent, const char *name, yaffs_Object *equivalentObject);
 
+yaffs_Object *yaffs_GetEquivalentObject(yaffs_Object *obj);
+
 // Symlink operations
 yaffs_Object *yaffs_MknodSymLink(yaffs_Object *parent, const char *name, __u32 mode,  __u32 uid, __u32 gid, const char *alias);
 char *yaffs_GetSymlinkAlias(yaffs_Object *obj);