xref: /aosp_15_r20/bionic/libc/kernel/uapi/mtd/inftl-user.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __MTD_INFTL_USER_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __MTD_INFTL_USER_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define OSAK_VERSION 0x5120
11*8d67ca89SAndroid Build Coastguard Worker #define PERCENTUSED 98
12*8d67ca89SAndroid Build Coastguard Worker #define SECTORSIZE 512
13*8d67ca89SAndroid Build Coastguard Worker struct inftl_bci {
14*8d67ca89SAndroid Build Coastguard Worker   __u8 ECCsig[6];
15*8d67ca89SAndroid Build Coastguard Worker   __u8 Status;
16*8d67ca89SAndroid Build Coastguard Worker   __u8 Status1;
17*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
18*8d67ca89SAndroid Build Coastguard Worker struct inftl_unithead1 {
19*8d67ca89SAndroid Build Coastguard Worker   __u16 virtualUnitNo;
20*8d67ca89SAndroid Build Coastguard Worker   __u16 prevUnitNo;
21*8d67ca89SAndroid Build Coastguard Worker   __u8 ANAC;
22*8d67ca89SAndroid Build Coastguard Worker   __u8 NACs;
23*8d67ca89SAndroid Build Coastguard Worker   __u8 parityPerField;
24*8d67ca89SAndroid Build Coastguard Worker   __u8 discarded;
25*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
26*8d67ca89SAndroid Build Coastguard Worker struct inftl_unithead2 {
27*8d67ca89SAndroid Build Coastguard Worker   __u8 parityPerField;
28*8d67ca89SAndroid Build Coastguard Worker   __u8 ANAC;
29*8d67ca89SAndroid Build Coastguard Worker   __u16 prevUnitNo;
30*8d67ca89SAndroid Build Coastguard Worker   __u16 virtualUnitNo;
31*8d67ca89SAndroid Build Coastguard Worker   __u8 NACs;
32*8d67ca89SAndroid Build Coastguard Worker   __u8 discarded;
33*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
34*8d67ca89SAndroid Build Coastguard Worker struct inftl_unittail {
35*8d67ca89SAndroid Build Coastguard Worker   __u8 Reserved[4];
36*8d67ca89SAndroid Build Coastguard Worker   __u16 EraseMark;
37*8d67ca89SAndroid Build Coastguard Worker   __u16 EraseMark1;
38*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
39*8d67ca89SAndroid Build Coastguard Worker union inftl_uci {
40*8d67ca89SAndroid Build Coastguard Worker   struct inftl_unithead1 a;
41*8d67ca89SAndroid Build Coastguard Worker   struct inftl_unithead2 b;
42*8d67ca89SAndroid Build Coastguard Worker   struct inftl_unittail c;
43*8d67ca89SAndroid Build Coastguard Worker };
44*8d67ca89SAndroid Build Coastguard Worker struct inftl_oob {
45*8d67ca89SAndroid Build Coastguard Worker   struct inftl_bci b;
46*8d67ca89SAndroid Build Coastguard Worker   union inftl_uci u;
47*8d67ca89SAndroid Build Coastguard Worker };
48*8d67ca89SAndroid Build Coastguard Worker struct INFTLPartition {
49*8d67ca89SAndroid Build Coastguard Worker   __u32 virtualUnits;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 firstUnit;
51*8d67ca89SAndroid Build Coastguard Worker   __u32 lastUnit;
52*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
53*8d67ca89SAndroid Build Coastguard Worker   __u32 spareUnits;
54*8d67ca89SAndroid Build Coastguard Worker   __u32 Reserved0;
55*8d67ca89SAndroid Build Coastguard Worker   __u32 Reserved1;
56*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
57*8d67ca89SAndroid Build Coastguard Worker struct INFTLMediaHeader {
58*8d67ca89SAndroid Build Coastguard Worker   char bootRecordID[8];
59*8d67ca89SAndroid Build Coastguard Worker   __u32 NoOfBootImageBlocks;
60*8d67ca89SAndroid Build Coastguard Worker   __u32 NoOfBinaryPartitions;
61*8d67ca89SAndroid Build Coastguard Worker   __u32 NoOfBDTLPartitions;
62*8d67ca89SAndroid Build Coastguard Worker   __u32 BlockMultiplierBits;
63*8d67ca89SAndroid Build Coastguard Worker   __u32 FormatFlags;
64*8d67ca89SAndroid Build Coastguard Worker   __u32 OsakVersion;
65*8d67ca89SAndroid Build Coastguard Worker   __u32 PercentUsed;
66*8d67ca89SAndroid Build Coastguard Worker   struct INFTLPartition Partitions[4];
67*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
68*8d67ca89SAndroid Build Coastguard Worker #define INFTL_BINARY 0x20000000
69*8d67ca89SAndroid Build Coastguard Worker #define INFTL_BDTL 0x40000000
70*8d67ca89SAndroid Build Coastguard Worker #define INFTL_LAST 0x80000000
71*8d67ca89SAndroid Build Coastguard Worker #endif
72