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