diff -r e7d2d738d3c2 -r 2f92ad2dc5db userlibandfileserver/fileserver/smassstorage/inc/tfatbootsector.inl --- a/userlibandfileserver/fileserver/smassstorage/inc/tfatbootsector.inl Mon Mar 15 12:45:50 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,458 +0,0 @@ -// Copyright (c) 2004-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: -// Inline methods of TFatBootSector class. -// -// - -/** - @file - @internalTechnology - - Returns Sectors in Fat table for 32 bit volume - - @return iFatSectors32 -*/ -inline TUint32 TFatBootSector::FatSectors32() const - {return iFatSectors32;} -/** -Fat flags - -@return iFATFlags -*/ -inline TUint16 TFatBootSector::FATFlags() const - {return iFATFlags;} -/** -Version number of the file system - -@return iVersionNumber -*/ -inline TUint16 TFatBootSector::VersionNumber() const - {return iVersionNumber;} -/** -Cluster number of the root directory - -@return iRootClusterNum -*/ -inline TUint32 TFatBootSector::RootClusterNum() const - {return iRootClusterNum;} -/** -Sector number containing the FSIInfo structure - -@return iFSInfoSectorNum -*/ -inline TUint16 TFatBootSector::FSInfoSectorNum() const - {return iFSInfoSectorNum;} -/** -Backup boot sector - -@return iBkBootRecSector -*/ -inline TUint16 TFatBootSector::BkBootRecSector() const - {return iBkBootRecSector;} -/** -Sets the number of sectors in Fat table for 32 bit volume - -@param aFatSectors32 -*/ -inline void TFatBootSector::SetFatSectors32(TUint32 aFatSectors32) - {iFatSectors32 = aFatSectors32;} -/** -Sets the Fat flags - -@param aFATFlags -*/ -inline void TFatBootSector::SetFATFlags(TUint16 aFATFlags) - {iFATFlags = aFATFlags;} -/** -Sets the version number of the file system - -@param aVersionNumber -*/ -inline void TFatBootSector::SetVersionNumber(TUint16 aVersionNumber) - {iVersionNumber = aVersionNumber;} -/** -Sets the cluster number of the root directory - -@param aRootClusterNum -*/ -inline void TFatBootSector::SetRootClusterNum(TUint32 aRootClusterNum) - {iRootClusterNum = aRootClusterNum;} -/** -Set the sector number containing the FSIInfo structure - -@param aFSInfoSectorNum -*/ -inline void TFatBootSector::SetFSInfoSectorNum(TUint16 aFSInfoSectorNum) - {iFSInfoSectorNum = aFSInfoSectorNum;} -/** -Set the backup boot sector - -@param aBkBootRecSector -*/ -inline void TFatBootSector::SetBkBootRecSector(TUint16 aBkBootRecSector) - {iBkBootRecSector = aBkBootRecSector;} -/** -Quick test as to whether the volume is Fat32 - -@return True for Fat32 -*/ -inline TBool TFatBootSector::Is32BitFat() - {return(iRootDirEntries==0);} -/** -Returns the vendor ID of the file system that formatted the volume - -@return A descriptor containing the vendor ID -*/ -inline const TPtrC8 TFatBootSector::VendorId() const - {return TPtrC8(iVendorId,KVendorIdSize);} -/** -Return the bytes per sector - -@return iBytesPerSector -*/ -inline TUint16 TFatBootSector::BytesPerSector() const - {return iBytesPerSector;} -/** -Returns the sectors per cluster ratio - -@return iSectorsPerCluster -*/ -inline TInt TFatBootSector::SectorsPerCluster() const - {return iSectorsPerCluster;} -/** -Returns the number of reserved sectors on the volume - -@return iReservedSectors -*/ -inline TInt TFatBootSector::ReservedSectors() const - {return iReservedSectors;} -/** -Returns the number of Fats on the volume - -@return iNumberOfFats -*/ -inline TInt TFatBootSector::NumberOfFats() const - {return iNumberOfFats;} -/** -Returns the number of entries allowed in the root directory, specific to Fat12/16, zero for FAT32 - -@return iRootDirEntries -*/ -inline TInt TFatBootSector::RootDirEntries() const - {return iRootDirEntries;} -/** -Returns the total sectors on the volume, zero for FAT32 - -@return iTotalSectors -*/ -inline TInt TFatBootSector::TotalSectors() const - {return iTotalSectors;} -/** -Returns the media descriptor - -@return iMediaDescriptor -*/ -inline TUint8 TFatBootSector::MediaDescriptor() const - {return iMediaDescriptor;} -/** -Returns sectors used for the Fat table, zero for FAT32 - -@return iFatSectors -*/ -inline TInt TFatBootSector::FatSectors() const - {return iFatSectors;} -/** -Returns sectors per track - -@return iSectorsPerTrack -*/ -inline TInt TFatBootSector::SectorsPerTrack() const - {return iSectorsPerTrack;} -/** -Returns the number of heads - -@return iNumberOfHeads -*/ -inline TInt TFatBootSector::NumberOfHeads() const - {return iNumberOfHeads;} -/** -Returns the number of hidden sectors in the volume - -@return iHiddenSectors -*/ -inline TInt TFatBootSector::HiddenSectors() const - {return iHiddenSectors;} -/** -Returns total sectors in the volume, Used if totalSectors > 65535 - -@return iHugeSectors -*/ -inline TInt TFatBootSector::HugeSectors() const - {return iHugeSectors;} -/** -Returns the physical drive number, not used in Symbian OS - -@return iPhysicalDriveNumber -*/ -inline TInt TFatBootSector::PhysicalDriveNumber() const - {return iPhysicalDriveNumber;} -/** -Returns the extended boot signiture - -@return iExtendedBootSignature -*/ -inline TInt TFatBootSector::ExtendedBootSignature() const - {return iExtendedBootSignature;} -/** -Returns the unique volume ID - -@return iUniqueID -*/ -inline TUint32 TFatBootSector::UniqueID() const - {return iUniqueID;} -/** -Returns the volume's label - -@return A descriptor containing the volume label -*/ -inline const TPtrC8 TFatBootSector::VolumeLabel() const - {return TPtrC8(iVolumeLabel,KVolumeLabelSize);} -/** -Returns the file system type - -@return A descriptor containing the file system type -*/ -inline const TPtrC8 TFatBootSector::FileSysType() const - {return TPtrC8(iFileSysType,KFileSysTypeSize);} -/** -Returns the boot sector signiture - -@return KBootSectorSignature -*/ -inline TInt TFatBootSector::BootSectorSignature() const - {return KBootSectorSignature;} -/** -Set the jump instruction -*/ -inline void TFatBootSector::SetJumpInstruction() - {iJumpInstruction[0]=0xE9;iJumpInstruction[2]=0x90;} -/** -Set the vendor ID of the file system that formatted the volume - -@param aDes Descriptor containing the Vendor ID -*/ -inline void TFatBootSector::SetVendorID(const TDesC8& aDes) - { - __ASSERT_DEBUG(aDes.Length()<=KVendorIdSize,User::Panic(_L("FATFILESYS"),1)); - TPtr8 buf(iVendorId,KVendorIdSize); - buf=aDes; - } -/** -Sets the bytes per sector - -@param aBytesPerSector Number of bytes per sector -*/ -inline void TFatBootSector::SetBytesPerSector(TInt aBytesPerSector) - { - __ASSERT_DEBUG(!(aBytesPerSector&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iBytesPerSector=(TUint16)aBytesPerSector; - } -/** -Set the sectors per cluster ratio - -@param aSectorsPerCluster Number of sectors per cluster -*/ -inline void TFatBootSector::SetSectorsPerCluster(TInt aSectorsPerCluster) - { - __ASSERT_DEBUG(!(aSectorsPerCluster&~KMaxTUint8),User::Panic(_L("FATFILESYS"),1)); - iSectorsPerCluster=(TUint8)aSectorsPerCluster; - } -/** -Sets the number of reserved sectors on the volume - -@param aReservedSectors Number of reserved sectors -*/ -inline void TFatBootSector::SetReservedSectors(TInt aReservedSectors) - { - __ASSERT_DEBUG(!(aReservedSectors&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iReservedSectors=(TUint16)aReservedSectors; - } -/** -Sets the number of Fats on the volume - -@param aNumberOfFats Number of fats -*/ -inline void TFatBootSector::SetNumberOfFats(TInt aNumberOfFats) - { - __ASSERT_DEBUG(!(aNumberOfFats&~KMaxTUint8),User::Panic(_L("FATFILESYS"),1)); - iNumberOfFats=(TUint8)aNumberOfFats; - } -/** -Number of entries allowed in the root directory, specific to Fat12/16, zero for FAT32 - -@param aRootDirEntries -*/ -inline void TFatBootSector::SetRootDirEntries(TInt aRootDirEntries) - { - __ASSERT_DEBUG(!(aRootDirEntries&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iRootDirEntries=(TUint16)aRootDirEntries; - } -/** -Total sectors on the volume, zero for FAT32 - -@param aTotalSectors Total number of sectors -*/ -inline void TFatBootSector::SetTotalSectors(TInt aTotalSectors) - { - __ASSERT_DEBUG(!(aTotalSectors&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iTotalSectors=(TUint16)aTotalSectors; - } -/** -Set the media descriptor - -@param aMediaDescriptor -*/ -inline void TFatBootSector::SetMediaDescriptor(TUint8 aMediaDescriptor) - {iMediaDescriptor=aMediaDescriptor;} -/** -Sectors used for the Fat table, zero for FAT32 - -@param aFatSectors Number of Fat sectors -*/ -inline void TFatBootSector::SetFatSectors(TInt aFatSectors) - { - __ASSERT_DEBUG(!(aFatSectors&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iFatSectors=(TUint16)aFatSectors; - } -/** -Set the sectors per track - -@param aSectorsPerTrack Number of sectors per track -*/ -inline void TFatBootSector::SetSectorsPerTrack(TInt aSectorsPerTrack) - { - __ASSERT_DEBUG(!(aSectorsPerTrack&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iSectorsPerTrack=(TUint16)aSectorsPerTrack; - } -/** -Set the number of heads - -@param aNumberOfHeads Number of heads -*/ -inline void TFatBootSector::SetNumberOfHeads(TInt aNumberOfHeads) - { - __ASSERT_DEBUG(!(aNumberOfHeads&~KMaxTUint16),User::Panic(_L("FATFILESYS"),1)); - iNumberOfHeads=(TUint16)aNumberOfHeads; - } -/** -Set the number of hidden sectors in the volume - -@param aHiddenSectors Number of hidden sectors -*/ -inline void TFatBootSector::SetHiddenSectors(TUint32 aHiddenSectors) - { - iHiddenSectors=(TUint32)(aHiddenSectors); - } -/** -Set the total sectors in the volume, Used if totalSectors > 65535 - -@param aHugeSectors -*/ -inline void TFatBootSector::SetHugeSectors(TUint32 aHugeSectors) - {iHugeSectors=aHugeSectors;} -/** -Physical drive number, not used in Symbian OS - -@param aPhysicalDriveNumber Physical drive number -*/ -inline void TFatBootSector::SetPhysicalDriveNumber(TInt aPhysicalDriveNumber) - { - __ASSERT_DEBUG(!(aPhysicalDriveNumber&~KMaxTUint8),User::Panic(_L("FATFILESYS"),1)); - iPhysicalDriveNumber=(TUint8)aPhysicalDriveNumber; - } -/** -Set the reserved byte value - -@param aReservedByte Value for reserved byte -*/ -inline void TFatBootSector::SetReservedByte(TUint8 aReservedByte) - {iReserved=aReservedByte;} -/** -Set the extended boot signiture - -@param anExtendedBootSignature The extended boot signiture -*/ -inline void TFatBootSector::SetExtendedBootSignature(TInt anExtendedBootSignature) - { - __ASSERT_DEBUG(!(anExtendedBootSignature&~KMaxTUint8),User::Panic(_L("FATFILESYS"),1)); - iExtendedBootSignature=(TUint8)anExtendedBootSignature; - } -/** -Set the unique volume ID - -@param anUniqueID Set the unique ID -*/ -inline void TFatBootSector::SetUniqueID(TUint32 anUniqueID) - {iUniqueID=anUniqueID;} -/** -Set the volume's label - -@param aDes A descriptor containg the volume label -*/ -inline void TFatBootSector::SetVolumeLabel(const TDesC8& aDes) - { - __ASSERT_DEBUG(aDes.Length()<=KVolumeLabelSize,User::Panic(_L("FATFILESYS"),1)); - TPtr8 buf(iVolumeLabel,KVolumeLabelSize); - buf=aDes; - } -/** -Set the file system type - -@param aDes A descriptor containing the file system type -*/ -inline void TFatBootSector::SetFileSysType(const TDesC8& aDes) - { - __ASSERT_DEBUG(aDes.Length()<=8,User::Panic(_L("FATFILESYS"),1)); - TPtr8 buf(iFileSysType,8); - buf=aDes; - } -/** -Tests if the volume is Fat 16 or not - -@return True if the volume is Fat16 -*/ -inline TBool TFatBootSector::Is16BitFat() - {return(FileSysType()==_L8("FAT16 "));} -/** -Returns the position of the first sector of the first Fat - -@return The first Fat sector's byte position -*/ -inline TInt TFatBootSector::FirstFatSectorPos() - {return(ReservedSectors()*BytesPerSector());} -/** -Returns the start sector number of the root directory - -@return Start sector number of the root directory -*/ -inline TInt TFatBootSector::RootDirStartSector() - {return(ReservedSectors()+FatSectors()*NumberOfFats());} -/** -Returns the sector number of the first sector after the root directory - -@return -*/ -inline TInt TFatBootSector::FirstFreeSector() - {return(RootDirStartSector()+(RootDirEntries()*KSizeOfFatDirEntry+BytesPerSector()-1)/BytesPerSector());} -