12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*
- * $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__ */
|