📄 nftl.h
字号:
/* Defines for NAND Flash Translation Layer *//* (c) 1999 Machine Vision Holdings, Inc. *//* Author: David Woodhouse <dwmw2@mvhi.com> *//* $Id: nftl.h,v 1.10 2000/12/29 00:25:38 dwmw2 Exp $ */#ifndef __MTD_NFTL_H__#define __MTD_NFTL_H__/* Block Control Information */struct nftl_bci { unsigned char ECCSig[6]; __u8 Status; __u8 Status1;}__attribute__((packed));/* Unit Control Information */struct nftl_uci0 { __u16 VirtUnitNum; __u16 ReplUnitNum; __u16 SpareVirtUnitNum; __u16 SpareReplUnitNum;} __attribute__((packed));struct nftl_uci1 { __u32 WearInfo; __u16 EraseMark; __u16 EraseMark1;} __attribute__((packed));struct nftl_uci2 { __u16 FoldMark; __u16 FoldMark1; __u32 unused;} __attribute__((packed));union nftl_uci { struct nftl_uci0 a; struct nftl_uci1 b; struct nftl_uci2 c;};struct nftl_oob { struct nftl_bci b; union nftl_uci u;};/* NFTL Media Header */struct NFTLMediaHeader { char DataOrgID[6]; __u16 NumEraseUnits; __u16 FirstPhysicalEUN; __u32 FormattedSize; unsigned char UnitSizeFactor;} __attribute__((packed));#define MAX_ERASE_ZONES (8192 - 512)#define ERASE_MARK 0x3c69#define SECTOR_FREE 0xff#define SECTOR_USED 0x55#define SECTOR_IGNORE 0x11#define SECTOR_DELETED 0x00#define FOLD_MARK_IN_PROGRESS 0x5555#define ZONE_GOOD 0xff#define ZONE_BAD_ORIGINAL 0#define ZONE_BAD_MARKED 7/* these info are used in ReplUnitTable */#define BLOCK_NIL 0xffff /* last block of a chain */#define BLOCK_FREE 0xfffe /* free block */#define BLOCK_NOTEXPLORED 0xfffd /* non explored block, only used during mounting */#define BLOCK_RESERVED 0xfffc /* bios block or bad block */struct NFTLrecord { struct DiskOnChip *mtd; __u16 MediaUnit, SpareMediaUnit; __u32 EraseSize; struct NFTLMediaHeader MediaHdr; int usecount; unsigned char heads; unsigned char sectors; unsigned short cylinders; __u16 numvunits; __u16 lastEUN; /* should be suppressed */ __u16 numfreeEUNs; __u16 LastFreeEUN; /* To speed up finding a free EUN */ __u32 nr_sects; int head,sect,cyl; __u16 *EUNtable; /* [numvunits]: First EUN for each virtual unit */ __u16 *ReplUnitTable; /* [numEUNs]: ReplUnitNumber for each */ unsigned int nb_blocks; /* number of physical blocks */ unsigned int nb_boot_blocks; /* number of blocks used by the bios */};#define MAX_NFTLS 16#define MAX_SECTORS_PER_UNIT 32#define NFTL_PARTN_BITS 4#endif /* __MTD_NFTL_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -