--- a/baseport/src/cedar/generic/base/syborg/svphostfs/inc/rsvphostfsdriver.h Fri Jul 31 15:01:17 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,468 +0,0 @@
-/*
-* Copyright (c) 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 __RSVPHOSTFSDRIVER_H__
-#define __RSVPHOSTFSDRIVER_H__
-
-#include <e32des16.h>
-
-typedef TDes16 THostFileName;
-
-typedef enum
- {
- EUnknown=0,
- EWindows,
- EUnix,
- EMac,
- } TFileTimeType;
-
-class TSVPHostFsMkDirInfo
- {
-public:
- inline TSVPHostFsMkDirInfo() :
- iDrive(0),
- iName(0),
- iLength(0),
- iFlags(0)
- {};
- inline TSVPHostFsMkDirInfo(TUint aDrive, const THostFileName & aName, TUint32 aFlags) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length()),
- iFlags(aFlags)
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- TUint32 iFlags;
- };
-
-class TSVPHostFsRmDirInfo
- {
-public:
- inline TSVPHostFsRmDirInfo() :
- iDrive(0),
- iName(0),
- iLength(0)
- {};
- inline TSVPHostFsRmDirInfo(TUint aDrive, const THostFileName & aName) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length())
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- };
-
-class TSVPHostFsDeleteInfo
- {
-public:
- inline TSVPHostFsDeleteInfo() :
- iDrive(0),
- iName(0),
- iLength(0)
- {};
- inline TSVPHostFsDeleteInfo(TUint aDrive, const THostFileName & aName) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length())
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- };
-
-class TSVPHostFsRenameInfo
- {
-public:
- inline TSVPHostFsRenameInfo() :
- iDrive(0),
- iOldName(0),
- iOldLength(0),
- iNewName(0),
- iNewLength(0)
- {};
- inline TSVPHostFsRenameInfo(TUint aDrive, const THostFileName & aOldName, const THostFileName & aNewName) :
- iDrive(aDrive),
- iOldName(aOldName.Ptr()),
- iOldLength(aOldName.Length()),
- iNewName(aNewName.Ptr()),
- iNewLength(aNewName.Length())
- {};
-public:
- TUint iDrive;
- const TUint16 * iOldName;
- TUint32 iOldLength;
- const TUint16 * iNewName;
- TUint32 iNewLength;
- };
-
-class TSVPHostFsReplaceInfo
- {
-public:
- inline TSVPHostFsReplaceInfo() :
- iDrive(0),
- iOldName(0),
- iOldLength(0),
- iNewName(0),
- iNewLength(0)
- {};
- inline TSVPHostFsReplaceInfo(TUint aDrive, const THostFileName & aOldName, const THostFileName & aNewName) :
- iDrive(aDrive),
- iOldName(aOldName.Ptr()),
- iOldLength(aOldName.Length()),
- iNewName(aNewName.Ptr()),
- iNewLength(aNewName.Length())
- {};
-public:
- TUint iDrive;
- const TUint16 * iOldName;
- TUint32 iOldLength;
- const TUint16 * iNewName;
- TUint32 iNewLength;
- };
-
-class TSVPHostFsEntryInfo
- {
-public:
- inline TSVPHostFsEntryInfo() :
- iDrive(0),
- iName(0),
- iLength(0),
- iAtt(0),
- iModified(0),
- iSize(0),
- iTimeType(EUnknown)
- {};
- inline TSVPHostFsEntryInfo(TUint aDrive, const THostFileName & aName) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length()),
- iAtt(0),
- iModified(0),
- iSize(0),
- iTimeType(EUnknown)
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- TUint iAtt;
- TUint32 iModified; // time in seconds since the epoc
- TInt iSize;
- TFileTimeType iTimeType;
- char iHostName[KMaxFileName];
-};
-
-class TSVPHostFsSetEntryInfo
- {
-public:
- inline TSVPHostFsSetEntryInfo() :
- iDrive(0),
- iName(0),
- iModified(0),
- iNewAtt(0),
- iTimeType(EUnknown)
- {};
- inline TSVPHostFsSetEntryInfo(TUint aDrive, const THostFileName & aName, TUint32 aModified, TUint aNewAtt) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iModified(aModified),
- iNewAtt(aNewAtt),
- iTimeType(EUnknown)
- {};
-public:
- TUint iDrive;
- const TUint16 *iName;
- TUint32 iModified; // time in seconds since the epoc
- TUint iNewAtt;
- TFileTimeType iTimeType;
- };
-
-class TSVPHostFsDirOpenInfo
- {
-public:
- inline TSVPHostFsDirOpenInfo() :
- iDrive(0),
- iName(0),
- iLength(0),
- iHandle(0)
- {};
-inline TSVPHostFsDirOpenInfo(TUint aDrive, const THostFileName & aName) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length()),
- iHandle(0)
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- TUint32 iHandle;
- };
-
-#define SVP_HOST_FS_INVALID_FILE_HANDLE -1
-class TSVPHostFsFileOpenInfo
- {
-public:
- inline TSVPHostFsFileOpenInfo() :
- iDrive(0),
- iName(0),
- iLength(0), // of file name
- iMode(0),
- iOpen(0),
- iAtt(0),
- iModified(0), // time in seconds since the epoc
- iSize(0), // of file
- iTimeType(EUnknown),
- iHandle(SVP_HOST_FS_INVALID_FILE_HANDLE)
- {};
- inline TSVPHostFsFileOpenInfo(TUint aDrive, const THostFileName & aName, TUint32 aMode, TUint32 anOpen) :
- iDrive(aDrive),
- iName(aName.Ptr()),
- iLength(aName.Length()),
- iMode(aMode),
- iOpen(anOpen),
- iAtt(0),
- iModified(0), // time in seconds since the epoc
- iSize(0), // of file
- iTimeType(EUnknown),
- iHandle(SVP_HOST_FS_INVALID_FILE_HANDLE)
- {};
-public:
- TUint iDrive;
- const TUint16 * iName;
- TUint32 iLength;
- TUint32 iMode;
- TUint32 iOpen;
- TUint iAtt;
- TUint32 iModified; // time in seconds since the epoc
- TInt iSize;
- TFileTimeType iTimeType;
- TInt iHandle;
- };
-
-class TSVPHostFsFileReadInfo
- {
-public:
- inline TSVPHostFsFileReadInfo() :
- iDrive(0),
- iHandle(0),
- iLength(0),
- iPos(0),
- iBuf(0)
- {};
- inline TSVPHostFsFileReadInfo(TUint aDrive, TUint aHandle,TInt aLength,TInt aPos, char * aBuf):
- iDrive(aDrive),
- iHandle(aHandle),
- iLength(aLength),
- iPos(aPos),
- iBuf(aBuf)
- {};
-public:
- TUint iDrive;
- TUint iHandle;
- TInt iLength;
- TInt iPos;
- char * iBuf;
- };
-
-class TSVPHostFsFileWriteInfo
- {
-public:
- inline TSVPHostFsFileWriteInfo() :
- iDrive(0),
- iHandle(0),
- iLength(0),
- iPos(0),
- iBuf(0)
- {};
- inline TSVPHostFsFileWriteInfo(TUint aDrive, TUint aHandle,TInt aLength,TInt aPos, char * aBuf):
- iDrive(aDrive),
- iHandle(aHandle),
- iLength(aLength),
- iPos(aPos),
- iBuf(aBuf)
- {};
-public:
- TUint iDrive;
- TUint iHandle;
- TInt iLength;
- TInt iPos;
- char * iBuf;
- };
-
-class TSVPHostFsFileSetSizeInfo
- {
-public:
- inline TSVPHostFsFileSetSizeInfo() :
- iDrive(0),
- iHandle(0),
- iLength(0)
- {};
- inline TSVPHostFsFileSetSizeInfo(TUint aDrive, TUint aHandle, TInt aLength) :
- iDrive(aDrive),
- iHandle(aHandle),
- iLength(aLength)
- {};
-public:
- TUint iDrive;
- TUint iHandle;
- TInt iLength;
- };
-
-class TSVPHostFsDirReadInfo
-{
-public:
- inline TSVPHostFsDirReadInfo() :
- iDrive(0),
- iHandle(0),
- iLength(0),
- iAtt(0),
- iModified(0),
- iSize(0),
- iTimeType(EUnknown)
- {};
- inline TSVPHostFsDirReadInfo(TUint aDrive, TUint32 aHandle) :
- iDrive(aDrive),
- iHandle(aHandle),
- iLength(-1),
- iAtt(0),
- iModified(666),
- iSize(-1),
- iTimeType(EUnknown)
- {};
-public:
- TUint iDrive;
- TUint32 iHandle;
- TInt iLength;
- TUint16 iName[KMaxPath];
- TUint iAtt;
- TUint32 iModified; // time in seconds since the epoc
- TInt iSize;
- TFileTimeType iTimeType;
- };
-
-class TCapsSVPHostFsDriver
- {
-public:
- TVersion iVersion;
- };
-
-_LIT(KSVPHostFsDriverName,"SVP Host Filesystem Driver");
-_LIT(KSVPHostFsDriverLDD, "svphostfsdriver.ldd");
-
-// Version information
-const TInt KMajorVersionNumber=0;
-const TInt KMinorVersionNumber=0;
-const TInt KBuildVersionNumber=1;
-
-// keep in sync with the definitions in QEMU/hw/svphostfs.c
-#define LOWEST_DRIVE 'A'
-#define HIGHEST_DRIVE 'Z'
-#define DRIVE_MAP_SIZE (HIGHEST_DRIVE - LOWEST_DRIVE + 1)
-
-class RSVPHostFsDriver : public RBusLogicalChannel
- {
-public:
-
- enum TControl
- {
- EDummu = 0,
-
- // Codes for CMountCB operations
- EMkDir,
- ERmDir,
- EDelete,
- ERename,
- EReplace,
- EReadUid,
- EEntry,
- ESetEntry,
- EFileOpen,
- EDirOpen,
-
- // Code for CFileCB operations
- EFileClose,
- EFileRead,
- EFileWrite,
- EFileSetSize,
- EFileFlushAll,
-
- // Code for CDirCB operations
- EDirClose,
- EDirRead,
-
- // Device ops
- EGetDeviceID,
- EGetDriveMap,
-
- };
-
-
-public:
-#ifndef __KERNEL_MODE__ // don't need to see these in the driver
- TInt Open();
- TInt MkDir(TSVPHostFsMkDirInfo& aInfo);
- TInt RmDir(TSVPHostFsRmDirInfo& aInfo);
- TInt Delete(TSVPHostFsDeleteInfo& aInfo);
- TInt Rename(TSVPHostFsRenameInfo& aInfo);
- TInt Replace(TSVPHostFsReplaceInfo& aInfo);
- TInt ReadUid(const TDesC& aName,TEntry& anEntry);
- TInt Entry(TSVPHostFsEntryInfo& aInfo);
- TInt SetEntry(TSVPHostFsSetEntryInfo &aInfo);
- TInt FileOpen(TSVPHostFsFileOpenInfo &aInfo);
- TInt DirOpen(TSVPHostFsDirOpenInfo& aInfo);
- TInt FileClose(TUint32 aDrive, TUint32 aHandle);
- TInt FileRead(TSVPHostFsFileReadInfo& aInfo);
- TInt FileWrite(TSVPHostFsFileWriteInfo& aInfo);
- TInt FileSetSize(TSVPHostFsFileSetSizeInfo &aInfo);
- TInt FileSetEntry(TSVPHostFsSetEntryInfo &aInfo);
- TInt FlushData(TUint32 aDrive);
- TInt FlushAll(TUint32 aDrive);
-
- TInt DirClose(TUint32 aDrive, TUint32 aHandle);
- TInt DirRead(TSVPHostFsDirReadInfo& aInfo);
-
- TUint32 GetDeviceID(TUint32 aDrive);
-
- TInt GetDriveMap(TUint32 * aMap);
-
-private:
- inline TInt DoSVPRequest(TInt aReqNo, TAny * a1)
- {
- TRequestStatus status;
- DoRequest(aReqNo, status, a1);
- User::WaitForRequest(status);
- return status.Int();
- }
-
- inline TInt DoSVPRequest(TInt aReqNo, TAny * a1, TAny * a2)
- {
- TRequestStatus status;
- DoRequest(aReqNo, status, a1, a2);
- User::WaitForRequest(status);
- return status.Int();
- }
-#endif
- };
-
-#endif // __rsvphostfsdriver_H__