blob: a4467986176e0effc401432260808f72099cc268 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 Cheng655a7c02013-10-16 16:09:24 -07007#ifndef __MTD_NFTL_USER_H__
8#define __MTD_NFTL_USER_H__
9#include <linux/types.h>
10struct nftl_bci {
Tao Baod7db5942015-01-28 10:07:51 -080011 unsigned char ECCSig[6];
12 __u8 Status;
13 __u8 Status1;
14} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070015struct nftl_uci0 {
Tao Baod7db5942015-01-28 10:07:51 -080016 __u16 VirtUnitNum;
17 __u16 ReplUnitNum;
18 __u16 SpareVirtUnitNum;
Tao Baod7db5942015-01-28 10:07:51 -080019 __u16 SpareReplUnitNum;
Ben Cheng655a7c02013-10-16 16:09:24 -070020} __attribute__((packed));
21struct nftl_uci1 {
Tao Baod7db5942015-01-28 10:07:51 -080022 __u32 WearInfo;
Tao Baod7db5942015-01-28 10:07:51 -080023 __u16 EraseMark;
24 __u16 EraseMark1;
Ben Cheng655a7c02013-10-16 16:09:24 -070025} __attribute__((packed));
26struct nftl_uci2 {
Tao Baod7db5942015-01-28 10:07:51 -080027 __u16 FoldMark;
28 __u16 FoldMark1;
29 __u32 unused;
Ben Cheng655a7c02013-10-16 16:09:24 -070030} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070031union nftl_uci {
Tao Baod7db5942015-01-28 10:07:51 -080032 struct nftl_uci0 a;
33 struct nftl_uci1 b;
34 struct nftl_uci2 c;
Ben Cheng655a7c02013-10-16 16:09:24 -070035};
36struct nftl_oob {
Tao Baod7db5942015-01-28 10:07:51 -080037 struct nftl_bci b;
38 union nftl_uci u;
Ben Cheng655a7c02013-10-16 16:09:24 -070039};
40struct NFTLMediaHeader {
Tao Baod7db5942015-01-28 10:07:51 -080041 char DataOrgID[6];
42 __u16 NumEraseUnits;
Tao Baod7db5942015-01-28 10:07:51 -080043 __u16 FirstPhysicalEUN;
44 __u32 FormattedSize;
45 unsigned char UnitSizeFactor;
Ben Cheng655a7c02013-10-16 16:09:24 -070046} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define MAX_ERASE_ZONES (8192 - 512)
48#define ERASE_MARK 0x3c69
49#define SECTOR_FREE 0xff
50#define SECTOR_USED 0x55
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define SECTOR_IGNORE 0x11
52#define SECTOR_DELETED 0x00
53#define FOLD_MARK_IN_PROGRESS 0x5555
54#define ZONE_GOOD 0xff
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define ZONE_BAD_ORIGINAL 0
56#define ZONE_BAD_MARKED 7
57#endif