yaffs direct: Modify lseek value checking
[yaffs2.git] / direct / basic-test / yaffs_fileem2k.c
index 367003e48df7e60cc2a76100bbd16bad891e1231..51c3aa44092afbcd7fc7a5090fcbbc9ef2c7c097 100644 (file)
@@ -24,23 +24,23 @@ const char *yaffs_flashif2_c_version = "$Id: yaffs_fileem2k.c,v 1.24 2010-02-18
 
 #include "yaffs_flashif2.h"
 #include "yaffs_guts.h"
-#include "devextras.h"
+#include "yaffs_fileem2k.h"
+#include "yaffs_packedtags2.h"
+#include "yaffs_tagsvalidity.h"
+
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <unistd.h> 
 
-#include "yaffs_fileem2k.h"
-#include "yaffs_packedtags2.h"
-
 
 
 #define REPORT_ERROR 0
 
 typedef struct 
 {
-       __u8 data[PAGE_SIZE]; // Data + spare
+       u8 data[PAGE_SIZE]; // Data + spare
 } yflash_Page;
 
 typedef struct
@@ -66,7 +66,6 @@ int yaffs_test_partial_write = 0;
 
 extern int random_seed;
 extern int simulate_power_failure;
-static int initialised = 0;
 static int remaining_ops;
 static int nops_so_far;
 
@@ -93,7 +92,7 @@ static void yflash2_MaybePowerFail(unsigned int nand_chunk, int failPoint)
 
 
 
-static __u8 localBuffer[PAGE_SIZE];
+static u8 localBuffer[PAGE_SIZE];
 
 static char *NToName(char *buf,int n)
 {
@@ -171,7 +170,7 @@ int yflash2_GetNumberOfBlocks(void)
        return filedisk.nBlocks;
 }
 
-int yflash2_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const __u8 *data, const yaffs_ext_tags *tags)
+int yflash2_WriteChunkWithTagsToNAND(struct yaffs_dev *dev,int nand_chunk,const u8 *data, const struct yaffs_ext_tags *tags)
 {
        int written;
        int pos;
@@ -180,15 +179,15 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const __u8
        int nRead;
        int error;
        
-       T(YAFFS_TRACE_MTD,(TSTR("write chunk %d data %x tags %x" TENDSTR),nand_chunk,(unsigned)data, (unsigned)tags));
+       T(YAFFS_TRACE_MTD,(TSTR("write chunk %d data %p tags %p" TENDSTR),nand_chunk, data, tags));
 
        CheckInit();
        
        
        if(dev->param.inband_tags){
                
-               yaffs_packed_tags2_tags_only * pt2tp;
-               pt2tp = (yaffs_packed_tags2_tags_only *)&data[dev->data_bytes_per_chunk];
+               struct yaffs_packed_tags2_tags_only * pt2tp;
+               pt2tp = (struct yaffs_packed_tags2_tags_only *)&data[dev->data_bytes_per_chunk];
                yaffs_pack_tags2_tags_only(pt2tp,tags);
                
                pos = (nand_chunk % (PAGES_PER_BLOCK * BLOCKS_PER_HANDLE)) * PAGE_SIZE;
@@ -255,14 +254,14 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const __u8
                        if( 0 && dev->param.is_yaffs2)
                        {
                        
-                               written = write(h,tags,sizeof(yaffs_ext_tags));
-                               if(written != sizeof(yaffs_ext_tags)) return YAFFS_FAIL;
+                               written = write(h,tags,sizeof(struct yaffs_ext_tags));
+                               if(written != sizeof(struct yaffs_ext_tags)) return YAFFS_FAIL;
                        }
                        else
                        {
-                               yaffs_packed_tags2 pt;
+                               struct yaffs_packed_tags2 pt;
                                yaffs_pack_tags2(&pt,tags, !dev->param.no_tags_ecc);
-                               __u8 * ptab = (__u8 *)&pt;
+                               u8 * ptab = (u8 *)&pt;
 
                                nRead = read(h,localBuffer,sizeof(pt));
                                for(i = error = 0; REPORT_ERROR && i < sizeof(pt) && !error; i++){
@@ -333,14 +332,14 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const __u8
                        if( 0 && dev->param.is_yaffs2)
                        {
                        
-                               written = write(h,tags,sizeof(yaffs_ext_tags));
-                               if(written != sizeof(yaffs_ext_tags)) return YAFFS_FAIL;
+                               written = write(h,tags,sizeof(struct yaffs_ext_tags));
+                               if(written != sizeof(struct yaffs_ext_tags)) return YAFFS_FAIL;
                        }
                        else
                        {
-                               yaffs_packed_tags2 pt;
+                               struct yaffs_packed_tags2 pt;
                                yaffs_pack_tags2(&pt,tags,!dev->param.no_tags_ecc);
-                               __u8 * ptab = (__u8 *)&pt;
+                               u8 * ptab = (u8 *)&pt;
 
                                nRead = read(h,localBuffer,sizeof(pt));
                                for(i = error = 0; REPORT_ERROR && i < sizeof(pt) && !error; i++){
@@ -371,7 +370,7 @@ int yflash2_WriteChunkWithTagsToNAND(yaffs_dev_t *dev,int nand_chunk,const __u8
 
 }
 
-int yaffs_check_all_ff(const __u8 *ptr, int n)
+int yaffs_check_all_ff(const u8 *ptr, int n)
 {
        while(n)
        {
@@ -388,7 +387,7 @@ static int fail320 = 1;
 
 static int failRead10 = 2;
 
-int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *data, yaffs_ext_tags *tags)
+int yflash2_ReadChunkWithTagsFromNAND(struct yaffs_dev *dev,int nand_chunk, u8 *data, struct yaffs_ext_tags *tags)
 {
        int nread;
        int pos;
@@ -397,7 +396,7 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *dat
        int retval = YAFFS_OK;
        int nRead;
        
-       T(YAFFS_TRACE_MTD,(TSTR("read chunk %d data %x tags %x" TENDSTR),nand_chunk,(unsigned)data, (unsigned)tags));
+       T(YAFFS_TRACE_MTD,(TSTR("read chunk %d data %p tags %p" TENDSTR),nand_chunk, data, tags));
        
        CheckInit();
        
@@ -412,8 +411,8 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *dat
                }
 
                
-               yaffs_packed_tags2_tags_only * pt2tp;
-               pt2tp = (yaffs_packed_tags2_tags_only *)&data[dev->data_bytes_per_chunk];
+               struct yaffs_packed_tags2_tags_only * pt2tp;
+               pt2tp = (struct yaffs_packed_tags2_tags_only *)&data[dev->data_bytes_per_chunk];
 
                
                pos = (nand_chunk % (PAGES_PER_BLOCK * BLOCKS_PER_HANDLE)) * PAGE_SIZE;
@@ -458,10 +457,10 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *dat
 
                        if(0 && dev->param.is_yaffs2)
                        {
-                               nread= read(h,tags,sizeof(yaffs_ext_tags));
-                               if(nread != sizeof(yaffs_ext_tags))
+                               nread= read(h,tags,sizeof(struct yaffs_ext_tags));
+                               if(nread != sizeof(struct yaffs_ext_tags))
                                         retval =  YAFFS_FAIL;
-                               if(yaffs_check_all_ff((__u8 *)tags,sizeof(yaffs_ext_tags)))
+                               if(yaffs_check_all_ff((u8 *)tags,sizeof(struct yaffs_ext_tags)))
                                {
                                        yaffs_init_tags(tags);
                                }
@@ -472,7 +471,7 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *dat
                        }
                        else
                        {
-                               yaffs_packed_tags2 pt;
+                               struct yaffs_packed_tags2 pt;
                                nread= read(h,&pt,sizeof(pt));
                                yaffs_unpack_tags2(tags,&pt, !dev->param.no_tags_ecc);
 #ifdef SIMULATE_FAILURES
@@ -508,12 +507,12 @@ int yflash2_ReadChunkWithTagsFromNAND(yaffs_dev_t *dev,int nand_chunk, __u8 *dat
 }
 
 
-int yflash2_MarkNANDBlockBad(struct yaffs_dev_s *dev, int block_no)
+int yflash2_MarkNANDBlockBad(struct yaffs_dev *dev, int block_no)
 {
        int written;
        int h;
        
-       yaffs_packed_tags2 pt;
+       struct yaffs_packed_tags2 pt;
 
        CheckInit();
        
@@ -529,7 +528,7 @@ int yflash2_MarkNANDBlockBad(struct yaffs_dev_s *dev, int block_no)
        
 }
 
-int yflash2_EraseBlockInNAND(yaffs_dev_t *dev, int blockNumber)
+int yflash2_EraseBlockInNAND(struct yaffs_dev *dev, int blockNumber)
 {
 
        int i;
@@ -537,7 +536,7 @@ int yflash2_EraseBlockInNAND(yaffs_dev_t *dev, int blockNumber)
                
        CheckInit();
        
-       printf("erase block %d\n",blockNumber);
+       //printf("erase block %d\n",blockNumber);
        
        if(blockNumber == 320)
                fail320 = 1;
@@ -550,7 +549,7 @@ int yflash2_EraseBlockInNAND(yaffs_dev_t *dev, int blockNumber)
        else
        {
        
-               __u8 pg[PAGE_SIZE];
+               u8 pg[PAGE_SIZE];
                int syz = PAGE_SIZE;
                int pos;
                
@@ -570,7 +569,7 @@ int yflash2_EraseBlockInNAND(yaffs_dev_t *dev, int blockNumber)
        
 }
 
-int yflash2_InitialiseNAND(yaffs_dev_t *dev)
+int yflash2_InitialiseNAND(struct yaffs_dev *dev)
 {
        CheckInit();
        
@@ -580,9 +579,9 @@ int yflash2_InitialiseNAND(yaffs_dev_t *dev)
 
 
 
-int yflash2_QueryNANDBlock(struct yaffs_dev_s *dev, int block_no, yaffs_block_state_t *state, __u32 *seq_number)
+int yflash2_QueryNANDBlock(struct yaffs_dev *dev, int block_no, enum yaffs_block_state *state, u32 *seq_number)
 {
-       yaffs_ext_tags tags;
+       struct yaffs_ext_tags tags;
        int chunkNo;
 
        *seq_number = 0;