X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_packedtags2.h;h=70bd3c96069b2ee1f9f82ab1f0c11c000d84f08f;hp=4eb1416a309b6b0636a401abddc7de47d97604a4;hb=941b43d04d6684b006fbe648f150192116f11ab1;hpb=84699e12e914cb78ae3a1da48c99ed679b934153 diff --git a/yaffs_packedtags2.h b/yaffs_packedtags2.h index 4eb1416..70bd3c9 100644 --- a/yaffs_packedtags2.h +++ b/yaffs_packedtags2.h @@ -1,3 +1,18 @@ +/* + * YAFFS: Yet another Flash File System . A NAND-flash specific file system. + * + * 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 Lesser General Public License version 2.1 as + * published by the Free Software Foundation. + * + * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. + */ + /* This is used to pack YAFFS2 tags, not YAFFS1tags. */ #ifndef __YAFFS_PACKEDTAGS2_H__ @@ -7,10 +22,10 @@ #include "yaffs_ecc.h" typedef struct { - unsigned sequenceNumber; - unsigned objectId; - unsigned chunkId; - unsigned byteCount; + unsigned seq_number; + unsigned obj_id; + unsigned chunk_id; + unsigned n_bytes; } yaffs_PackedTags2TagsPart; typedef struct { @@ -18,6 +33,11 @@ typedef struct { yaffs_ECCOther ecc; } yaffs_PackedTags2; -void yaffs_PackTags2(yaffs_PackedTags2 * pt, const yaffs_ExtendedTags * t); -void yaffs_UnpackTags2(yaffs_ExtendedTags * t, yaffs_PackedTags2 * pt); +/* Full packed tags with ECC, used for oob tags */ +void yaffs_PackTags2(yaffs_PackedTags2 *pt, const yaffs_ext_tags *t, int tagsECC); +void yaffs_unpack_tags2(yaffs_ext_tags *t, yaffs_PackedTags2 *pt, int tagsECC); + +/* Only the tags part (no ECC for use with inband tags */ +void yaffs_PackTags2TagsPart(yaffs_PackedTags2TagsPart *pt, const yaffs_ext_tags *t); +void yaffs_unpack_tags2tags_part(yaffs_ext_tags *t, yaffs_PackedTags2TagsPart *pt); #endif