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 General Public License version 2 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
1540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#ifndef __YAFFS_NAND_H__
1640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#define __YAFFS_NAND_H__
1740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#include "yaffs_guts.h"
1840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
1940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
2040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
2140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_ReadChunkWithTagsFromNAND(yaffs_Device * dev, int chunkInNAND,
2240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project					   __u8 * buffer,
2340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project					   yaffs_ExtendedTags * tags);
2440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
2540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_WriteChunkWithTagsToNAND(yaffs_Device * dev,
2640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						   int chunkInNAND,
2740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						   const __u8 * buffer,
2840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						   yaffs_ExtendedTags * tags);
2940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
3040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_MarkBlockBad(yaffs_Device * dev, int blockNo);
3140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
3240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_QueryInitialBlockState(yaffs_Device * dev,
3340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						 int blockNo,
3440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						 yaffs_BlockState * state,
3540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project						 unsigned *sequenceNumber);
3640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
3740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_EraseBlockInNAND(struct yaffs_DeviceStruct *dev,
3840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project				  int blockInNAND);
3940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
4040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint yaffs_InitialiseNAND(struct yaffs_DeviceStruct *dev);
4140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
4240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#endif
4340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
44