xref: /aosp_15_r20/prebuilts/build-tools/sysroots/aarch64-unknown-linux-musl/include/mtd/nftl-user.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef __MTD_NFTL_USER_H__
8*cda5da8dSAndroid Build Coastguard Worker #define __MTD_NFTL_USER_H__
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker struct nftl_bci {
11*cda5da8dSAndroid Build Coastguard Worker   unsigned char ECCSig[6];
12*cda5da8dSAndroid Build Coastguard Worker   __u8 Status;
13*cda5da8dSAndroid Build Coastguard Worker   __u8 Status1;
14*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
15*cda5da8dSAndroid Build Coastguard Worker struct nftl_uci0 {
16*cda5da8dSAndroid Build Coastguard Worker   __u16 VirtUnitNum;
17*cda5da8dSAndroid Build Coastguard Worker   __u16 ReplUnitNum;
18*cda5da8dSAndroid Build Coastguard Worker   __u16 SpareVirtUnitNum;
19*cda5da8dSAndroid Build Coastguard Worker   __u16 SpareReplUnitNum;
20*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
21*cda5da8dSAndroid Build Coastguard Worker struct nftl_uci1 {
22*cda5da8dSAndroid Build Coastguard Worker   __u32 WearInfo;
23*cda5da8dSAndroid Build Coastguard Worker   __u16 EraseMark;
24*cda5da8dSAndroid Build Coastguard Worker   __u16 EraseMark1;
25*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
26*cda5da8dSAndroid Build Coastguard Worker struct nftl_uci2 {
27*cda5da8dSAndroid Build Coastguard Worker   __u16 FoldMark;
28*cda5da8dSAndroid Build Coastguard Worker   __u16 FoldMark1;
29*cda5da8dSAndroid Build Coastguard Worker   __u32 unused;
30*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
31*cda5da8dSAndroid Build Coastguard Worker union nftl_uci {
32*cda5da8dSAndroid Build Coastguard Worker   struct nftl_uci0 a;
33*cda5da8dSAndroid Build Coastguard Worker   struct nftl_uci1 b;
34*cda5da8dSAndroid Build Coastguard Worker   struct nftl_uci2 c;
35*cda5da8dSAndroid Build Coastguard Worker };
36*cda5da8dSAndroid Build Coastguard Worker struct nftl_oob {
37*cda5da8dSAndroid Build Coastguard Worker   struct nftl_bci b;
38*cda5da8dSAndroid Build Coastguard Worker   union nftl_uci u;
39*cda5da8dSAndroid Build Coastguard Worker };
40*cda5da8dSAndroid Build Coastguard Worker struct NFTLMediaHeader {
41*cda5da8dSAndroid Build Coastguard Worker   char DataOrgID[6];
42*cda5da8dSAndroid Build Coastguard Worker   __u16 NumEraseUnits;
43*cda5da8dSAndroid Build Coastguard Worker   __u16 FirstPhysicalEUN;
44*cda5da8dSAndroid Build Coastguard Worker   __u32 FormattedSize;
45*cda5da8dSAndroid Build Coastguard Worker   unsigned char UnitSizeFactor;
46*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
47*cda5da8dSAndroid Build Coastguard Worker #define MAX_ERASE_ZONES (8192 - 512)
48*cda5da8dSAndroid Build Coastguard Worker #define ERASE_MARK 0x3c69
49*cda5da8dSAndroid Build Coastguard Worker #define SECTOR_FREE 0xff
50*cda5da8dSAndroid Build Coastguard Worker #define SECTOR_USED 0x55
51*cda5da8dSAndroid Build Coastguard Worker #define SECTOR_IGNORE 0x11
52*cda5da8dSAndroid Build Coastguard Worker #define SECTOR_DELETED 0x00
53*cda5da8dSAndroid Build Coastguard Worker #define FOLD_MARK_IN_PROGRESS 0x5555
54*cda5da8dSAndroid Build Coastguard Worker #define ZONE_GOOD 0xff
55*cda5da8dSAndroid Build Coastguard Worker #define ZONE_BAD_ORIGINAL 0
56*cda5da8dSAndroid Build Coastguard Worker #define ZONE_BAD_MARKED 7
57*cda5da8dSAndroid Build Coastguard Worker #endif
58