140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project/* 240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * YAFFS: Yet another FFS. A NAND-flash specific file system. 340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * Copyright (C) 2002 Aleph One Ltd. 540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * for Toby Churchill Ltd and Brightstar Engineering 640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * Created by Charles Manning <charles@aleph1.co.uk> 840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * This program is free software; you can redistribute it and/or modify 1040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * it under the terms of the GNU Lesser General Public License version 2.1 as 1140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * published by the Free Software Foundation. 1240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 1340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 1440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. 1540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 1640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * yaffs_nandemul2k.h: Interface to emulated NAND functions (2k page size) 1740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * 1840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project * $Id: yaffs_nandemul2k.h,v 1.2 2005/08/11 02:37:49 marty Exp $ 1940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project */ 2040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#ifndef __YAFFS_NANDEMUL2K_H__ 2240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#define __YAFFS_NANDEMUL2K_H__ 2340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#include "yaffs_guts.h" 2540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 2640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_WriteChunkWithTagsToNAND(struct yaffs_DeviceStruct *dev, 2740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project int chunkInNAND, const __u8 * data, 2840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project yaffs_ExtendedTags * tags); 2940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_ReadChunkWithTagsFromNAND(struct yaffs_DeviceStruct *dev, 3040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project int chunkInNAND, __u8 * data, 3140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project yaffs_ExtendedTags * tags); 3240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_MarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo); 3340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, 3440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project yaffs_BlockState * state, int *sequenceNumber); 3540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_EraseBlockInNAND(struct yaffs_DeviceStruct *dev, 3640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project int blockInNAND); 3740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_InitialiseNAND(struct yaffs_DeviceStruct *dev); 3840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_GetBytesPerChunk(void); 3940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_GetChunksPerBlock(void); 4040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint nandemul2k_GetNumberOfBlocks(void); 4140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project 4240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#endif 43