Add some handly Linux test stuff
[yaffs2.git] / yaffs_tagscompat.h
index 7922ab358d7abbb7fb01747551978aa8eb64a274..6f95119e0aabd2dc0795521e754135b0cf218372 100644 (file)
@@ -1,40 +1,39 @@
 /*
- * YAFFS: Yet another FFS. A NAND-flash specific file system. 
- * yaffs_ramdisk.h: yaffs ram disk component
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
  *
- * Copyright (C) 2002 Aleph One Ltd.
+ * Copyright (C) 2002-2007 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 General Public License version 2 as
+ * it under the terms of the GNU Lesser General Public License version 2.1 as
  * published by the Free Software Foundation.
  *
- * $Id: yaffs_tagscompat.h,v 1.2 2005-08-11 02:33:03 marty Exp $
+ * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
  */
 
-/* This provides a ram disk under yaffs.
- * NB this is not intended for NAND emulation.
- * Use this with dev->useNANDECC enabled, then ECC overheads are not required.
- */
 #ifndef __YAFFS_TAGSCOMPAT_H__
 #define __YAFFS_TAGSCOMPAT_H__
 
 #include "yaffs_guts.h"
-int yaffs_TagsCompatabilityWriteChunkWithTagsToNAND(yaffs_Device * dev,
-                                                   int chunkInNAND,
-                                                   const __u8 * data,
-                                                   const yaffs_ExtendedTags *
-                                                   tags);
-int yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(yaffs_Device * dev,
-                                                    int chunkInNAND,
-                                                    __u8 * data,
-                                                    yaffs_ExtendedTags *
-                                                    tags);
+int yaffs_TagsCompatabilityWriteChunkWithTagsToNAND(yaffs_Device *dev,
+                                               int chunkInNAND,
+                                               const __u8 *data,
+                                               const yaffs_ExtendedTags *tags);
+int yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(yaffs_Device *dev,
+                                               int chunkInNAND,
+                                               __u8 *data,
+                                               yaffs_ExtendedTags *tags);
 int yaffs_TagsCompatabilityMarkNANDBlockBad(struct yaffs_DeviceStruct *dev,
                                            int blockNo);
 int yaffs_TagsCompatabilityQueryNANDBlock(struct yaffs_DeviceStruct *dev,
-                                         int blockNo, yaffs_BlockState *
-                                         state, int *sequenceNumber);
+                                         int blockNo,
+                                         yaffs_BlockState *state,
+                                         __u32 *sequenceNumber);
+
+void yaffs_CalcTagsECC(yaffs_Tags *tags);
+int yaffs_CheckECCOnTags(yaffs_Tags *tags);
+int yaffs_CountBits(__u8 byte);
 
 #endif