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