📄 fltl.h
字号:
/***********************************************************************************/
/* M-Systems Confidential */
/* Copyright (C) M-Systems Flash Disk Pioneers Ltd. 1995-2003 */
/* All Rights Reserved */
/***********************************************************************************/
/* NOTICE OF M-SYSTEMS OEM */
/* SOFTWARE LICENSE AGREEMENT */
/* */
/* THE USE OF THIS SOFTWARE IS GOVERNED BY A SEPARATE LICENSE */
/* AGREEMENT BETWEEN THE OEM AND M-SYSTEMS. REFER TO THAT AGREEMENT */
/* FOR THE SPECIFIC TERMS AND CONDITIONS OF USE, */
/* OR CONTACT M-SYSTEMS FOR LICENSE ASSISTANCE: */
/* E-MAIL = info@m-sys.com */
/***********************************************************************************/
/*
* $Log: V:/PVCSDB/DiskOnChip/archives/general storage/TrueFFS/src/include/fltl.h-arc $
*
* Rev 1.3 Sep 30 2003 17:59:16 oris
* Added Programmer name and version to the extended disk info structure.
*
* Rev 1.2 May 12 2003 23:17:00 oris
* Added dwUsedUnits field to the extended disk information routine structure.
*
* Rev 1.1 May 08 2003 23:15:40 OriS
* Removed fIsQuickMountValid field from extended disk info record.
*
* Rev 1.0 Apr 09 2003 12:16:00 OriS
* Initial revision.
*
*/
#ifndef FLTL_H
#define FLTL_H
#include "flflash.h"
#include "flfuncno.h"
#include "flreq.h"
#define FL_BDK_PARTITION 1
#define FL_DISK_PARTITION 0
#define FL_ALL_FLOORS 0xff
/*----------------------------------------------------------------------*/
/* f l E x t e n d e d D i s k I n f o */
/* */
/* This structure supplies very low-level information on the device */
/* */
/* Note: This structure is used for M-Systems low level utilities. It */
/* be subject to chages from one TrueFFS version to the other. */
/* */
/*----------------------------------------------------------------------*/
typedef struct {
/******************************************/
/* Fields that belong to the entire media */
/******************************************/
FLDword dwStructSize; /* INPUT - Size of the given structure */
FLDword dwTLType; /* See definitions in flflash.h */
FLDword dwFormatFlags; /* Format attributes for the entire media */
FLDword dwTrueFFSVersion; /* version of osak used to format the media */
FLDword dwFlashTechnology; /* Flash technology (SLC/MLC) */
FLByte bNoOfFloors; /* Number of floors in the device */
FLByte bNoOfPlanes; /* Number of flash planes */
FLByte bNoOfBanks; /* Number of flash banks */
FLByte bDataBusWidth; /* Value of the IF_CFG (either 8 or 16 bits)*/
FLByte bSectorsPerPage; /* Number of sectors in a flash page */
FLByte bSharedSectors; /* The minimal number of logical sectors */
/* that might be affected by one another */
/* write operation. */
FLByte bMaxRelatedSectors; /* Max number of sectors that might share */
/* the same write operation or might be */
/* affected by each other write operation. */
FLDword dwIPLSize; /* Number of bytes of SRAM in the device */
FLByte bChangeableProtectedAreas; /* Number of protection areas capable */
/* of changing. */
FLByte btotalProtectedAreas; /* Total number of protection areas */
FLDword dwUnitsInFirstFloor; /* Number of units in the first floor */
FLDword dwUnitSize; /* Size of logical erasable unit */
FLDword dwMaxBadPercentage; /* Flash guaranteed worst bad blocks percentage */
FLByte bNoOfBinaryPartitions; /* Number of binary partition on the media */
FLByte bNoOfDiskPartitions; /* Number of disk partition on the media */
FLByte bBlockMultiplierBits; /* no of bits used to represent the time a */
/* flash logical unit fits inside in a TL */
/* erasable unit. */
FLByte dwPercentUsed; /* Percent of the media to be exported */
FLByte bHeaderUnits; /* Number of units reserved in the begining */
/* of each floor for the media header */
FLWord wHeaderLocation; /* Unit number where the header of the */
/* current floor resides. In case all floors*/
/* are requested, the value should indicate */
/* the location of the header in the first */
/* floor. */
/************************************************/
/* Fields that belong to the specific partition */
/************************************************/
FLDword dwVirtualUnits; /* Virtual size exported by the translation layer */
FLDword dwFirstQuickMountUnit; /* First unit used for the quick mount data */
FLDword dwFirstUnit; /* First unit of the partition */
FLDword dwLastUnit; /* Last unit of the partition */
FLDword dwSpareUnits; /* Number of spare units requested by the user */
FLDword dwTransferUnits; /* Number of transfer units used for chaining */
FLDword dwPartitionFlags;/* See list above "Partition flags" */
/******************************************/
/* Fields that are valid only after mount */
/******************************************/
FLDword dwTLUnitSize; /* The size of the TL unit */
FLDword dwFreeUnits; /* Number of currently free units */
FLByte bNeededFreeUnits; /* Minimal nuber of free units */
/* before folding */
FLByte bMinSectorsForFolding; /* Number of sectors to be copied */
/* together in a folding operation */
FLByte bMinSectorsForNextWrite; /* For performance reasons the TL */
/* decide to reduce the above value */
FLDword dwUsedUnits; /* Number of used virtual chains */
FLByte bProgrammerNamePtr[4]; /* Programmer name */
FLByte bProgrammerVersionPtr[4]; /* Programmer version */
} FLExtendedDiskInfo;
typedef struct tTL TL;
#include "_fltl.h"
#endif /* FLTL_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -