X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_tagscompat.h;h=c90688314cf32f911429d3ba97e5ca78671ec88f;hp=46db0824c06f1b6f2311fc99281ef52bbebbfb89;hb=976dbeae825b18e6759f3903073a6784248cc244;hpb=363520161b021b7ac870c269064606e3f16feeeb diff --git a/yaffs_tagscompat.h b/yaffs_tagscompat.h index 46db082..c906883 100644 --- a/yaffs_tagscompat.h +++ b/yaffs_tagscompat.h @@ -1,30 +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-2010 Aleph One Ltd. + * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning * * 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.1 2004-11-03 08:14:07 charles Exp $ + * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. */ -// This provides a rma 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_TagsCompatabilityMarkNANDBlockBad(struct yaffs_DeviceStruct *dev, int blockNo); -int yaffs_TagsCompatabilityQueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo, yaffs_BlockState *state, int *sequenceNumber); +int yaffs_tags_compat_wr(struct yaffs_dev *dev, + int nand_chunk, + const u8 *data, + const struct yaffs_ext_tags *tags); +int yaffs_tags_compat_rd(struct yaffs_dev *dev, + int nand_chunk, + u8 *data, + struct yaffs_ext_tags *tags); +int yaffs_tags_compat_mark_bad(struct yaffs_dev *dev, + int block_no); +int yaffs_tags_compat_query_block(struct yaffs_dev *dev, + int block_no, + yaffs_block_state_t *state, + u32 *seq_number); + +void yaffs_calc_tags_ecc(struct yaffs_tags *tags); +int yaffs_check_tags_ecc(struct yaffs_tags *tags); +int yaffs_count_bits(u8 byte); #endif