]>
Commit | Line | Data |
---|---|---|
0e8cc8bd | 1 | /* |
4b070809 | 2 | * YAFFS: Yet another Flash File System . A NAND-flash specific file system. |
0e8cc8bd | 3 | * |
753ac610 | 4 | * Copyright (C) 2002-2011 Aleph One Ltd. |
0e8cc8bd WJ |
5 | * for Toby Churchill Ltd and Brightstar Engineering |
6 | * | |
7 | * Created by Charles Manning <charles@aleph1.co.uk> | |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify | |
10 | * it under the terms of the GNU Lesser General Public License version 2.1 as | |
11 | * published by the Free Software Foundation. | |
12 | * | |
13 | * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL. | |
14 | */ | |
15 | ||
16 | /* This is used to pack YAFFS2 tags, not YAFFS1tags. */ | |
17 | ||
18 | #ifndef __YAFFS_PACKEDTAGS2_H__ | |
19 | #define __YAFFS_PACKEDTAGS2_H__ | |
20 | ||
21 | #include "yaffs_guts.h" | |
22 | #include "yaffs_ecc.h" | |
23 | ||
753ac610 CM |
24 | struct yaffs_packed_tags2_tags_only { |
25 | unsigned seq_number; | |
26 | unsigned obj_id; | |
27 | unsigned chunk_id; | |
28 | unsigned n_bytes; | |
29 | }; | |
0e8cc8bd | 30 | |
753ac610 CM |
31 | struct yaffs_packed_tags2 { |
32 | struct yaffs_packed_tags2_tags_only t; | |
33 | struct yaffs_ecc_other ecc; | |
34 | }; | |
0e8cc8bd | 35 | |
753ac610 CM |
36 | /* Full packed tags with ECC, used for oob tags */ |
37 | void yaffs_pack_tags2(struct yaffs_packed_tags2 *pt, | |
38 | const struct yaffs_ext_tags *t, int tags_ecc); | |
39 | void yaffs_unpack_tags2(struct yaffs_ext_tags *t, struct yaffs_packed_tags2 *pt, | |
40 | int tags_ecc); | |
41 | ||
42 | /* Only the tags part (no ECC for use with inband tags */ | |
43 | void yaffs_pack_tags2_tags_only(struct yaffs_packed_tags2_tags_only *pt, | |
44 | const struct yaffs_ext_tags *t); | |
45 | void yaffs_unpack_tags2_tags_only(struct yaffs_ext_tags *t, | |
46 | struct yaffs_packed_tags2_tags_only *pt); | |
0e8cc8bd | 47 | #endif |