• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef __MTD_INFTL_USER_H__
7 #define __MTD_INFTL_USER_H__
8 #include <linux/types.h>
9 #define	OSAK_VERSION	0x5120
10 #define	PERCENTUSED	98
11 #define	SECTORSIZE	512
12 struct inftl_bci {
13 	__u8 ECCsig[6];
14 	__u8 Status;
15 	__u8 Status1;
16 } __attribute__((packed));
17 struct inftl_unithead1 {
18 	__u16 virtualUnitNo;
19 	__u16 prevUnitNo;
20 	__u8 ANAC;
21 	__u8 NACs;
22 	__u8 parityPerField;
23 	__u8 discarded;
24 } __attribute__((packed));
25 struct inftl_unithead2 {
26 	__u8 parityPerField;
27 	__u8 ANAC;
28 	__u16 prevUnitNo;
29 	__u16 virtualUnitNo;
30 	__u8 NACs;
31 	__u8 discarded;
32 } __attribute__((packed));
33 struct inftl_unittail {
34 	__u8 Reserved[4];
35 	__u16 EraseMark;
36 	__u16 EraseMark1;
37 } __attribute__((packed));
38 union inftl_uci {
39 	struct inftl_unithead1 a;
40 	struct inftl_unithead2 b;
41 	struct inftl_unittail c;
42 };
43 struct inftl_oob {
44 	struct inftl_bci b;
45 	union inftl_uci u;
46 };
47 struct INFTLPartition {
48 	__u32 virtualUnits;
49 	__u32 firstUnit;
50 	__u32 lastUnit;
51 	__u32 flags;
52 	__u32 spareUnits;
53 	__u32 Reserved0;
54 	__u32 Reserved1;
55 } __attribute__((packed));
56 struct INFTLMediaHeader {
57 	char bootRecordID[8];
58 	__u32 NoOfBootImageBlocks;
59 	__u32 NoOfBinaryPartitions;
60 	__u32 NoOfBDTLPartitions;
61 	__u32 BlockMultiplierBits;
62 	__u32 FormatFlags;
63 	__u32 OsakVersion;
64 	__u32 PercentUsed;
65 	struct INFTLPartition Partitions[4];
66 } __attribute__((packed));
67 #define	INFTL_BINARY	0x20000000
68 #define	INFTL_BDTL	0x40000000
69 #define	INFTL_LAST	0x80000000
70 #endif
71