baseintegtests/baseintegrationtest/testsuites/fat32/inc/sl_bpb1.h
branchanywhere
changeset 20 d63d727ee0a6
parent 19 f6d3d9676ee4
parent 16 6d8ad5bee44b
child 21 af091391d962
--- a/baseintegtests/baseintegrationtest/testsuites/fat32/inc/sl_bpb1.h	Tue Dec 08 08:11:42 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-// Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef SL_BPB1_H
-#define SL_BPB1_H
-
-#include <f32fsys.h>
-#include <f32ver.h>
-#include <f32dbg.h>
-#include <e32svr.h>
-
-#pragma warning (disable:4103) //  : used #pragma pack to change alignment
-
-static const TInt KFatDirNameSize=11;
-static const TInt KFatDirReservedSize=10;
-static const TInt KVolumeLabelSize=11;
-static const TInt KFileSysTypeSize=8;
-static const TInt KVendorIdSize=8;
-static const TInt KVFatEntryAttribute=0x0F;
-static const TInt KBootSectorSignature=0xAA55;
-
-class TFatDirEntry;
-enum TFault
-	{
-	EVFatNoLongName,
-	EFatChkDskFailed,
-	EFatBadParameter,
-	EFatCacheBadRead,
-	EFatCacheNotFatSector,
-	EFatBadLocalDrive,
-	EFatBadBootSectorParameter,
-	EFatBadDirEntryParameter,
-	EFatAddClusterNotLastInList,
-	EFatBadEntryValue,
-	EFatBadClusterValue,
-	EFatBadStdFormatName,
-	EFatBadDosFormatName,
-	EFatCorrupt,
-	EFatChkDskBitListOverFlow,
-	EFatChkDskIndexOverFlow,
-	EFatChkDskIllegalClusterNumber,
-	EFatChkDskClusterAlreadyInUse,
-	EFatChkDskBadCluster,
-	EFatChkDskInvalidEntrySize,
-	EFatDesTooBig,
-	EFatFilePosBeyondEnd,
-	EFatFileSeekIndexTooSmall,
-	EFatFileSeekIndexTooSmall2,
-	EFatDataAllocBadSeg,
-	EFatFileSystemBadMemory,
-	EFatFileSystemCreate1,
-	EFatFileSystemCreate2,
-	EFatFileSystemCreate3,
-	ECacheAllocatorSetMax,
-	EFatLruCacheBadGranularity,
-	EFatFixedCacheBadGranularity,
-	EFatFixedCacheBadCall,
-	EFatRawReadTooBig,
-	EFatRawWriteTooBig,
-	EWinsBadRamDriveRead,
-	EWinsBadRamDriveWrite,
-	EFatReadUidFailed,
-	ELruCacheFlushNotSupported
-	};
-
-struct SFatDirEntry
-	{
-    TUint8 iName[KFatDirNameSize];
-    TUint8 iAttributes;
-    TUint8 iReserved[KFatDirReservedSize];
-    TUint16 iTime;
-    TUint16 iDate;
-    TUint16 iStartCluster;
-    TUint32 iSize;
-	};	
-#define pDir ((SFatDirEntry*)&iData[0])
-
-//
-typedef TBuf8<KFatDirNameSize> TShortName;
-//
-const TInt KSizeOfFatBootSector=62;
-const TInt KSizeOfFatDirEntry=32;
-class TFatBootSector
-	{
-public:
-	inline const TPtrC8 VendorId() const;
-	inline TInt BytesPerSector() const{return iBytesPerSector;}
-	inline TInt SectorsPerCluster() const{return iSectorsPerCluster;}
-	inline TInt ReservedSectors() const {return iReservedSectors;};
-	inline TInt NumberOfFats() const {return iNumberOfFats;}
-	inline TInt RootDirEntries() const{return iRootDirEntries;}
-	inline TInt TotalSectors() const{return iTotalSectors;}
-	inline TUint8 MediaDescriptor() const {return iMediaDescriptor;}
-	inline TInt FatSectors() const {return iFatSectors;}
-	inline TInt SectorsPerTrack() const {return iSectorsPerTrack;}
-	inline TInt NumberOfHeads() const{return iNumberOfHeads;}
-	inline TInt HiddenSectors() const {return iHiddenSectors;}
-	inline TInt HugeSectors() const{return iHugeSectors;}
-	inline TInt PhysicalDriveNumber() const;
-	inline TInt ExtendedBootSignature() const;
-	inline TUint32 UniqueID() const;
-	inline const TPtrC8 VolumeLabel() const;
-	inline const TPtrC8 FileSysType() const {return TPtrC8(iFileSysType,KFileSysTypeSize);}
-	inline TInt BootSectorSignature() const;
-	inline void SetJumpInstruction();
-	inline void SetVendorID(const TDesC8& aDes);
-	inline void SetBytesPerSector(TInt aBytesPerSector);
-	inline void SetSectorsPerCluster(TInt aSectorsPerCluster);
-	inline void SetReservedSectors(TInt aReservedSectors);
-	inline void SetNumberOfFats(TInt aNumberOfFats);
-	inline void SetRootDirEntries(TInt aRootDirEntries);
-	inline void SetTotalSectors(TInt aTotalSectors);
-	inline void SetMediaDescriptor(TUint8 aMediaDescriptor);
-	inline void SetFatSectors(TInt aFatSectors);
-	inline void SetSectorsPerTrack(TInt aSectorsPerTrack);
-	inline void SetNumberOfHeads(TInt aNumberOfHeads);
-	inline void SetHiddenSectors(TUint32 aHiddenSectors);
-	inline void SetHugeSectors(TUint32 aTotalSectors);
-	inline void SetPhysicalDriveNumber(TInt aPhysicalDriveNumber);
-	inline void SetReservedByte(TUint8 aReservedByte);
-	inline void SetExtendedBootSignature(TInt anExtendedBootSignature);
-	inline void SetUniqueID(TUint32 anUniqueID);
-	inline void SetVolumeLabel(const TDesC8& aDes);
-	inline void SetFileSysType(const TDesC8& aDes);
-	
-public:
-	inline TBool Is16BitFat() {return(FileSysType()==_L8("FAT16   "));}
-	TInt FirstFatSectorPos()
-	{
-	return(ReservedSectors()*BytesPerSector());
-	}
-	inline TInt RootDirStartSector();
-	inline TInt FirstFreeSector();
-public:
-    TUint8  iJumpInstruction[3];        ///< Jump instruction used for bootable volumes
-    TUint8  iVendorId[KVendorIdSize];   ///< Vendor ID of the file system that formatted the volume
-    TUint16 iBytesPerSector;            ///< Bytes per sector 
-    TUint8  iSectorsPerCluster;         ///< Sectors per cluster ratio
-    TUint16 iReservedSectors;           ///< Number of reserved sectors on the volume
-    TUint8  iNumberOfFats;              ///< Number of Fats on the volume
-    TUint16 iRootDirEntries;	        ///< Number of entries allowed in the root directory, specific to Fat12/16, zero for FAT32
-    TUint16 iTotalSectors;              ///< Total sectors on the volume, zero for FAT32
-    TUint8  iMediaDescriptor;           ///< Media descriptor
-    TUint16 iFatSectors;                ///< Sectors used for the Fat table, zero for FAT32
-    TUint16 iSectorsPerTrack;           ///< Sectors per track
-    TUint16 iNumberOfHeads;             ///< Number of heads 
-    TUint32 iHiddenSectors;             ///< Number of hidden sectors in the volume
-    TUint32 iHugeSectors;               ///< Total sectors in the volume, Used if totalSectors > 65535
-	TUint32	iFatSectors32;              ///< Start of additional elements @ offset 36 for FAT32, Sectors in Fat table for 32 bit volume
-	TUint16 iFATFlags;                  ///< Fat flags
-	TUint16	iVersionNumber;		        ///< Version number of the file system
-	TUint32 iRootClusterNum;            ///< Cluster number of the root directory
-	TUint16 iFSInfoSectorNum;           ///< Sector number containing the FSIInfo structure
-	TUint16 iBkBootRecSector;           ///< Backup boot sector
-	TUint8	iReserved2[12];             ///< Reserved space, End of Fat32 Only parameters section
-	TUint8  iPhysicalDriveNumber;       ///< Physical drive number, not used in Symbian OS
-    TUint8  iReserved;                  ///< Reserved byte
-    TUint8  iExtendedBootSignature;     ///< Extended boot signiture
-    TUint32 iUniqueID;                  ///< Unique volume ID
-    TUint8  iVolumeLabel[KVolumeLabelSize];  ///< 	The volume's label
-	TUint8  iFileSysType[KFileSysTypeSize];  ///< 	File system type
-	};
-	
-void Fault(TAny* aTestStep,TFault anError);
-GLREF_C TBool IsPowerOfTwo(TInt aNum);
-GLREF_C TInt Log2(TInt aNum);
-GLREF_C TTime DosTimeToTTime(TInt aDosTime,TInt aDosDate);
-GLREF_C TInt DosTimeFromTTime(const TTime& aTime);
-GLREF_C TInt DosDateFromTTime(const TTime& aTime);
-
-class TFatDirEntry
-	{
-public:
-	const TPtrC8 Name() const
-	{return TPtrC8((TUint8*)&(pDir->iName),11);
-	}
-	TInt Attributes() const 
-	{
-	return pDir->iAttributes;
-	}
-	inline TTime Time() const;
-	TInt StartCluster() const
-	{
-	return pDir->iStartCluster;
-	}
-	inline TUint32 Size() const;
-	TBool IsErased() const
-	{
-	return (TBool)(iData[0]==0xe5);
-	}
-	inline TBool IsCurrentDirectory() const;
-	inline TBool IsParentDirectory() const;
-	TBool IsEndOfDirectory() const 
-	{
-	return (TBool)(iData[0]==0x00);
-	}
-	TBool IsGarbage() const;
-	inline void SetName(const TDesC8& aDes);
-	inline void SetAttributes(TInt anAtt);
-	inline void SetTime(const TTime& aTime);
-	void SetStartCluster(TInt aStartCluster)
-	{
-	__ASSERT_DEBUG(!(aStartCluster&~KMaxTUint16),Fault( this,EFatBadDirEntryParameter));
-	pDir->iStartCluster=(TUint16)aStartCluster;
-	}
-	inline void SetSize(TUint32 aFilesize);
-	inline void SetErased();
-	inline void SetCurrentDirectory();
-	inline void SetParentDirectory();
-	inline void SetEndOfDirectory();
-	inline void ZeroReserved();
-public:
-	void InitializeRootEntry();
-	void InitializeAsVFat(TUint8 aCheckSum);
-	void SetVFatEntry(const TDesC& aName,TInt aRemainderLen);
-	void ReadVFatEntry(TDes16& aVBuf);
-	inline TBool IsLongNameStart() const;
-	TBool IsVFatEntry() const 
-	{
-	return (TBool)(Attributes()==0x0F && IsEndOfDirectory()==EFalse);
-	}
-	inline TInt NumFollowing() const;
-public:
-	TUint8 iData[KSizeOfFatDirEntry];
-	};
-
-#endif // SL_BPB1_H