⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inftl.h

📁 for mips adm5120 uclibc-0.9.19 toolchain
💻 H
字号:
/* *	inftl.h -- defines to support the Inverse NAND Flash Translation Layer * *	(C) Copyright 2002, Greg Ungerer (gerg@snapgear.com) * *	$Id: inftl.h,v 1.1.1.1 2004/09/22 12:48:01 daniell Exp $ */#ifndef __MTD_INFTL_H__#define __MTD_INFTL_H__#include <linux/mtd/blktrans.h>#include <linux/mtd/mtd.h>#include <linux/mtd/nftl.h>#define	OSAK_VERSION	0x5120#define	PERCENTUSED	98#define	SECTORSIZE	512#ifndef INFTL_MAJOR#define INFTL_MAJOR 94#endif#define INFTL_PARTN_BITS 4/* Block Control Information */struct inftl_bci {	__u8 ECCsig[6];	__u8 Status;	__u8 Status1;} __attribute__((packed));struct inftl_unithead1 {	__u16 virtualUnitNo;	__u16 prevUnitNo;	__u8 ANAC;	__u8 NACs;	__u8 parityPerField;	__u8 discarded;} __attribute__((packed));struct inftl_unithead2 {	__u8 parityPerField;	__u8 ANAC;	__u16 prevUnitNo;	__u16 virtualUnitNo;	__u8 NACs;	__u8 discarded;} __attribute__((packed));struct inftl_unittail {	__u8 Reserved[4];	__u16 EraseMark;	__u16 EraseMark1;} __attribute__((packed));union inftl_uci {	struct inftl_unithead1 a;	struct inftl_unithead2 b;	struct inftl_unittail c;};struct inftl_oob {	struct inftl_bci b;	union inftl_uci u;};/* INFTL Media Header */struct INFTLPartition {	__u32 virtualUnits;	__u32 firstUnit;	__u32 lastUnit;	__u32 flags;	__u32 spareUnits;	__u32 Reserved0;	__u32 Reserved1;} __attribute__((packed));struct INFTLMediaHeader {	char bootRecordID[8];	__u32 NoOfBootImageBlocks;	__u32 NoOfBinaryPartitions;	__u32 NoOfBDTLPartitions;	__u32 BlockMultiplierBits;	__u32 FormatFlags;	__u32 OsakVersion;	__u32 PercentUsed;	struct INFTLPartition Partitions[4];} __attribute__((packed));/* Partition flag types */#define	INFTL_BINARY	0x20000000#define	INFTL_BDTL	0x40000000#define	INFTL_LAST	0x80000000#ifdef __KERNEL__struct INFTLrecord {	struct mtd_blktrans_dev mbd;	__u16 MediaUnit, SpareMediaUnit;	__u32 EraseSize;	struct INFTLMediaHeader MediaHdr;	int usecount;	unsigned char heads;	unsigned char sectors;	unsigned short cylinders;	__u16 numvunits;	__u16 firstEUN;	__u16 lastEUN;	__u16 numfreeEUNs;	__u16 LastFreeEUN; 		/* To speed up finding a free EUN */	int head,sect,cyl;	__u16 *PUtable;	 		/* Physical Unit Table  */	__u16 *VUtable; 		/* Virtual Unit Table */        unsigned int nb_blocks;		/* number of physical blocks */        unsigned int nb_boot_blocks;	/* number of blocks used by the bios */        struct erase_info instr;};int INFTL_mount(struct INFTLrecord *s);int INFTL_formatblock(struct INFTLrecord *s, int block);#endif /* __KERNEL__ */#endif /* __MTD_INFTL_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -