Blame view
include/mtd/inftl-user.h
1.54 KB
1da177e4c
|
1 |
/* |
e4f0648fb
|
2 |
* Parts of INFTL headers shared with userspace |
1da177e4c
|
3 4 5 6 7 |
* */ #ifndef __MTD_INFTL_USER_H__ #define __MTD_INFTL_USER_H__ |
70c2ed65f
|
8 |
#include <linux/types.h> |
1da177e4c
|
9 10 11 12 13 14 15 16 |
#define OSAK_VERSION 0x5120 #define PERCENTUSED 98 #define SECTORSIZE 512 /* Block Control Information */ struct inftl_bci { |
ccef7ab53
|
17 18 19 |
__u8 ECCsig[6]; __u8 Status; __u8 Status1; |
1da177e4c
|
20 21 22 |
} __attribute__((packed)); struct inftl_unithead1 { |
ccef7ab53
|
23 24 25 26 27 28 |
__u16 virtualUnitNo; __u16 prevUnitNo; __u8 ANAC; __u8 NACs; __u8 parityPerField; __u8 discarded; |
1da177e4c
|
29 30 31 |
} __attribute__((packed)); struct inftl_unithead2 { |
ccef7ab53
|
32 33 34 35 36 37 |
__u8 parityPerField; __u8 ANAC; __u16 prevUnitNo; __u16 virtualUnitNo; __u8 NACs; __u8 discarded; |
1da177e4c
|
38 39 40 |
} __attribute__((packed)); struct inftl_unittail { |
ccef7ab53
|
41 42 43 |
__u8 Reserved[4]; __u16 EraseMark; __u16 EraseMark1; |
1da177e4c
|
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
} __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__ */ |