diff options
author | pancake <pancake@dazo> | 2007-06-02 02:23:58 +0200 |
---|---|---|
committer | pancake <pancake@dazo> | 2007-06-02 02:23:58 +0200 |
commit | f299486ef9ee5531ebee567211eb7861ae7a93bf (patch) | |
tree | 78d1b86880660f49b10bc9dca7bfc075af985236 /src/mtd/inftl-user.h | |
parent | 1515b7c7c12097db8c713194217d57477074c6ac (diff) | |
download | 0xFFFF-f299486ef9ee5531ebee567211eb7861ae7a93bf.tar.bz2 |
* Covardly copy the nanddump() function from the mtd-utils to fix dump functionality
- The new function works like the old rf_extract one, no parameters has
changed.
- Now a complete dump/restore will be possible.
- Check for badblocks while copying data
- Shows information about the partition
* Better use of query_error_message() for debugging
Diffstat (limited to 'src/mtd/inftl-user.h')
-rw-r--r-- | src/mtd/inftl-user.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/mtd/inftl-user.h b/src/mtd/inftl-user.h new file mode 100644 index 0000000..9b1e252 --- /dev/null +++ b/src/mtd/inftl-user.h @@ -0,0 +1,91 @@ +/* + * $Id: inftl-user.h,v 1.2 2005/11/07 11:14:56 gleixner Exp $ + * + * Parts of INFTL headers shared with userspace + * + */ + +#ifndef __MTD_INFTL_USER_H__ +#define __MTD_INFTL_USER_H__ + +#define OSAK_VERSION 0x5120 +#define PERCENTUSED 98 + +#define SECTORSIZE 512 + +/* Block Control Information */ + +struct inftl_bci { + uint8_t ECCsig[6]; + uint8_t Status; + uint8_t Status1; +} __attribute__((packed)); + +struct inftl_unithead1 { + uint16_t virtualUnitNo; + uint16_t prevUnitNo; + uint8_t ANAC; + uint8_t NACs; + uint8_t parityPerField; + uint8_t discarded; +} __attribute__((packed)); + +struct inftl_unithead2 { + uint8_t parityPerField; + uint8_t ANAC; + uint16_t prevUnitNo; + uint16_t virtualUnitNo; + uint8_t NACs; + uint8_t discarded; +} __attribute__((packed)); + +struct inftl_unittail { + uint8_t Reserved[4]; + uint16_t EraseMark; + uint16_t EraseMark1; +} __attribute__((packed)); + +union inftl_uci { + struct inftl_unithead1 a; + struct inftl_unithead2 b; + struct inftl_unittail c; +}; + +struct inftl_oob { + struct inftl_bci b; + union inftl_uci u; +}; + + +/* INFTL Media Header */ + +struct INFTLPartition { + __u32 virtualUnits; + __u32 firstUnit; + __u32 lastUnit; + __u32 flags; + __u32 spareUnits; + __u32 Reserved0; + __u32 Reserved1; +} __attribute__((packed)); + +struct INFTLMediaHeader { + char bootRecordID[8]; + __u32 NoOfBootImageBlocks; + __u32 NoOfBinaryPartitions; + __u32 NoOfBDTLPartitions; + __u32 BlockMultiplierBits; + __u32 FormatFlags; + __u32 OsakVersion; + __u32 PercentUsed; + struct INFTLPartition Partitions[4]; +} __attribute__((packed)); + +/* Partition flag types */ +#define INFTL_BINARY 0x20000000 +#define INFTL_BDTL 0x40000000 +#define INFTL_LAST 0x80000000 + +#endif /* __MTD_INFTL_USER_H__ */ + + |