--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/userlibandfileserver/fileserver/srofs/sr_rofs.inl Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,95 @@
+// Copyright (c) 1995-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:
+// ROFS.INL
+//
+//
+
+
+inline const TText* CDirectoryCache::NameAddress( const TRofsEntry* aEntry )
+ {
+ return (const TText*)(((const TUint8*)aEntry) + aEntry->iNameOffset);
+ };
+
+
+inline TUint32 CDirectoryCache::AlignUp( TUint32 aValue )
+ {
+ return aValue + ((4-aValue) & 3); // round up to next word boundary
+ };
+
+inline const TRofsDir* CDirectoryCache::RootDirectory() const
+ {
+ return reinterpret_cast<const TRofsDir*>( iTreeBuffer->Ptr() );
+ }
+
+inline const TRofsDir* CDirectoryCache::RofsDirFromMediaOffset( TUint aMediaOffset ) const
+ {
+ return reinterpret_cast<const TRofsDir*>(aMediaOffset - iTreeMediaOffset + iTreeBuffer->Ptr() );
+ };
+
+inline const TRofsDir* CDirectoryCache::RofsDirFromSubDirEntry( const TRofsEntry* aEntry ) const
+ {
+ return reinterpret_cast<const TRofsDir*>(aEntry->iFileAddress - iTreeMediaOffset + iTreeBuffer->Ptr() );
+ };
+
+inline const TRofsEntry* CDirectoryCache::FirstSubDirEntryFromDir( const TRofsDir* aDir )
+ {
+ return reinterpret_cast<const TRofsEntry*>(((const TUint8*)aDir) + aDir->iFirstEntryOffset );
+ }
+
+inline const TRofsEntry* CDirectoryCache::FirstFileEntryFromDir( const TRofsDir* aDir ) const
+ {
+ __ASSERT_DEBUG( aDir->iFileBlockAddress != NULL, CRofs::Panic( CRofs::EPanicNullFileBlock ));
+ return reinterpret_cast<const TRofsEntry*>(aDir->iFileBlockAddress - iFilesMediaOffset + iFilesBuffer->Ptr() );
+ }
+
+inline const TAny* CDirectoryCache::EndOfFileBlockPlusOne( const TRofsDir* aDir ) const
+ {
+ __ASSERT_DEBUG( aDir->iFileBlockAddress != NULL, CRofs::Panic( CRofs::EPanicNullFileBlock2 ));
+ return reinterpret_cast<const TAny*>( ((TUint8*)FirstFileEntryFromDir(aDir)) + aDir->iFileBlockSize );
+ }
+
+
+inline const TAny* CDirectoryCache::EndOfDirPlusOne( const TRofsDir* aDir ) const
+ {
+ return reinterpret_cast<const TAny*>( ((TUint8*)aDir) + aDir->iStructSize );
+ }
+
+inline const TRofsEntry* CDirectoryCache::NextEntry( const TRofsEntry* aEntry )
+ {
+ return (const TRofsEntry*)((const TUint8*)aEntry + AlignUp( aEntry->iStructSize ));
+ }
+
+
+inline CRofsMountCB& CRofsFileCB::RofsMount()
+ { return reinterpret_cast<CRofsMountCB&>(Mount()); };
+
+inline void CRofsFileCB::SetMediaBase(const TUint aBase)
+ {iMediaBase=aBase;}
+
+inline void CRofsFileCB::SetAttExtra( TUint8 aAttExtra )
+ {iAttExtra = aAttExtra;}
+
+
+inline void CRofsDirCB::SetCache( CDirectoryCache* aCache )
+ {iCache = aCache;}
+
+
+inline CRofs& CRofsMountCB::FileSystem() const
+ {return((CRofs&)Drive().FSys());}
+
+
+inline TInt CRofs::TotalSupportedDrives() const
+ {return iTotalSupportedDrives;}
+
+