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_NFTL_USER_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __MTD_NFTL_USER_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker struct nftl_bci { 11*8d67ca89SAndroid Build Coastguard Worker unsigned char ECCSig[6]; 12*8d67ca89SAndroid Build Coastguard Worker __u8 Status; 13*8d67ca89SAndroid Build Coastguard Worker __u8 Status1; 14*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 15*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci0 { 16*8d67ca89SAndroid Build Coastguard Worker __u16 VirtUnitNum; 17*8d67ca89SAndroid Build Coastguard Worker __u16 ReplUnitNum; 18*8d67ca89SAndroid Build Coastguard Worker __u16 SpareVirtUnitNum; 19*8d67ca89SAndroid Build Coastguard Worker __u16 SpareReplUnitNum; 20*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 21*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci1 { 22*8d67ca89SAndroid Build Coastguard Worker __u32 WearInfo; 23*8d67ca89SAndroid Build Coastguard Worker __u16 EraseMark; 24*8d67ca89SAndroid Build Coastguard Worker __u16 EraseMark1; 25*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 26*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci2 { 27*8d67ca89SAndroid Build Coastguard Worker __u16 FoldMark; 28*8d67ca89SAndroid Build Coastguard Worker __u16 FoldMark1; 29*8d67ca89SAndroid Build Coastguard Worker __u32 unused; 30*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 31*8d67ca89SAndroid Build Coastguard Worker union nftl_uci { 32*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci0 a; 33*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci1 b; 34*8d67ca89SAndroid Build Coastguard Worker struct nftl_uci2 c; 35*8d67ca89SAndroid Build Coastguard Worker }; 36*8d67ca89SAndroid Build Coastguard Worker struct nftl_oob { 37*8d67ca89SAndroid Build Coastguard Worker struct nftl_bci b; 38*8d67ca89SAndroid Build Coastguard Worker union nftl_uci u; 39*8d67ca89SAndroid Build Coastguard Worker }; 40*8d67ca89SAndroid Build Coastguard Worker struct NFTLMediaHeader { 41*8d67ca89SAndroid Build Coastguard Worker char DataOrgID[6]; 42*8d67ca89SAndroid Build Coastguard Worker __u16 NumEraseUnits; 43*8d67ca89SAndroid Build Coastguard Worker __u16 FirstPhysicalEUN; 44*8d67ca89SAndroid Build Coastguard Worker __u32 FormattedSize; 45*8d67ca89SAndroid Build Coastguard Worker unsigned char UnitSizeFactor; 46*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed)); 47*8d67ca89SAndroid Build Coastguard Worker #define MAX_ERASE_ZONES (8192 - 512) 48*8d67ca89SAndroid Build Coastguard Worker #define ERASE_MARK 0x3c69 49*8d67ca89SAndroid Build Coastguard Worker #define SECTOR_FREE 0xff 50*8d67ca89SAndroid Build Coastguard Worker #define SECTOR_USED 0x55 51*8d67ca89SAndroid Build Coastguard Worker #define SECTOR_IGNORE 0x11 52*8d67ca89SAndroid Build Coastguard Worker #define SECTOR_DELETED 0x00 53*8d67ca89SAndroid Build Coastguard Worker #define FOLD_MARK_IN_PROGRESS 0x5555 54*8d67ca89SAndroid Build Coastguard Worker #define ZONE_GOOD 0xff 55*8d67ca89SAndroid Build Coastguard Worker #define ZONE_BAD_ORIGINAL 0 56*8d67ca89SAndroid Build Coastguard Worker #define ZONE_BAD_MARKED 7 57*8d67ca89SAndroid Build Coastguard Worker #endif 58