Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame] | 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 | */ |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 7 | #ifndef __MTD_NFTL_USER_H__ |
| 8 | #define __MTD_NFTL_USER_H__ |
| 9 | #include <linux/types.h> |
| 10 | struct nftl_bci { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 11 | unsigned char ECCSig[6]; |
| 12 | __u8 Status; |
| 13 | __u8 Status1; |
| 14 | } __attribute__((packed)); |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 15 | struct nftl_uci0 { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 16 | __u16 VirtUnitNum; |
| 17 | __u16 ReplUnitNum; |
| 18 | __u16 SpareVirtUnitNum; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 19 | __u16 SpareReplUnitNum; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 20 | } __attribute__((packed)); |
| 21 | struct nftl_uci1 { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 22 | __u32 WearInfo; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 23 | __u16 EraseMark; |
| 24 | __u16 EraseMark1; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 25 | } __attribute__((packed)); |
| 26 | struct nftl_uci2 { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 27 | __u16 FoldMark; |
| 28 | __u16 FoldMark1; |
| 29 | __u32 unused; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 30 | } __attribute__((packed)); |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 31 | union nftl_uci { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 32 | struct nftl_uci0 a; |
| 33 | struct nftl_uci1 b; |
| 34 | struct nftl_uci2 c; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 35 | }; |
| 36 | struct nftl_oob { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 37 | struct nftl_bci b; |
| 38 | union nftl_uci u; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 39 | }; |
| 40 | struct NFTLMediaHeader { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 41 | char DataOrgID[6]; |
| 42 | __u16 NumEraseUnits; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 43 | __u16 FirstPhysicalEUN; |
| 44 | __u32 FormattedSize; |
| 45 | unsigned char UnitSizeFactor; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 46 | } __attribute__((packed)); |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 47 | #define MAX_ERASE_ZONES (8192 - 512) |
| 48 | #define ERASE_MARK 0x3c69 |
| 49 | #define SECTOR_FREE 0xff |
| 50 | #define SECTOR_USED 0x55 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 51 | #define SECTOR_IGNORE 0x11 |
| 52 | #define SECTOR_DELETED 0x00 |
| 53 | #define FOLD_MARK_IN_PROGRESS 0x5555 |
| 54 | #define ZONE_GOOD 0xff |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 55 | #define ZONE_BAD_ORIGINAL 0 |
| 56 | #define ZONE_BAD_MARKED 7 |
| 57 | #endif |