1858 the path are illegal, although there may be spaces between other |
1903 the path are illegal, although there may be spaces between other |
1859 path components, for instance between directories. |
1904 path components, for instance between directories. |
1860 */ |
1905 */ |
1861 { |
1906 { |
1862 public: |
1907 public: |
1863 IMPORT_C TInt Connect(TInt aMessageSlots=KFileServerDefaultMessageSlots); |
1908 EFSRV_IMPORT_C TInt Connect(TInt aMessageSlots=KFileServerDefaultMessageSlots); |
1864 IMPORT_C TVersion Version() const; |
1909 EFSRV_IMPORT_C void Close(); |
1865 IMPORT_C TInt AddFileSystem(const TDesC& aFileName) const; |
1910 EFSRV_IMPORT_C TVersion Version() const; |
1866 IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const; |
1911 EFSRV_IMPORT_C TInt AddFileSystem(const TDesC& aFileName) const; |
1867 IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive, TBool aIsSync) const; |
1912 EFSRV_IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const; |
1868 IMPORT_C TInt MountFileSystemAndScan(const TDesC& aFileSystemName,TInt aDrive,TBool& aIsMountSuccess) const; |
1913 EFSRV_IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive, TBool aIsSync) const; |
1869 IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive); |
1914 EFSRV_IMPORT_C TInt MountFileSystemAndScan(const TDesC& aFileSystemName,TInt aDrive,TBool& aIsMountSuccess) const; |
1870 IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive, TBool aIsSync); |
1915 EFSRV_IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive); |
1871 IMPORT_C TInt MountFileSystemAndScan(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive,TBool& aIsMountSuccess) const; |
1916 EFSRV_IMPORT_C TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive, TBool aIsSync); |
1872 IMPORT_C TInt DismountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const; |
1917 EFSRV_IMPORT_C TInt MountFileSystemAndScan(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive,TBool& aIsMountSuccess) const; |
1873 IMPORT_C TInt RemoveFileSystem(const TDesC& aFileSystemName) const; |
1918 EFSRV_IMPORT_C TInt DismountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const; |
1874 IMPORT_C TInt FileSystemName(TDes& aName,TInt aDrive) const; |
1919 EFSRV_IMPORT_C TInt RemoveFileSystem(const TDesC& aFileSystemName) const; |
1875 IMPORT_C TInt AddExtension(const TDesC& aFileName); |
1920 EFSRV_IMPORT_C TInt FileSystemName(TDes& aName,TInt aDrive) const; |
1876 IMPORT_C TInt MountExtension(const TDesC& aExtensionName,TInt aDrive); |
1921 EFSRV_IMPORT_C TInt AddExtension(const TDesC& aFileName); |
1877 IMPORT_C TInt DismountExtension(const TDesC& aExtensionName,TInt aDrive); |
1922 EFSRV_IMPORT_C TInt MountExtension(const TDesC& aExtensionName,TInt aDrive); |
1878 IMPORT_C TInt RemoveExtension(const TDesC& aExtensionName); |
1923 EFSRV_IMPORT_C TInt DismountExtension(const TDesC& aExtensionName,TInt aDrive); |
1879 IMPORT_C TInt ExtensionName(TDes& aExtensionName,TInt aDrive,TInt aPos); |
1924 EFSRV_IMPORT_C TInt RemoveExtension(const TDesC& aExtensionName); |
1880 IMPORT_C TInt RemountDrive(TInt aDrive,const TDesC8* aMountInfo=NULL,TUint aFlags=0); |
1925 EFSRV_IMPORT_C TInt ExtensionName(TDes& aExtensionName,TInt aDrive,TInt aPos); |
1881 IMPORT_C void NotifyChange(TNotifyType aType,TRequestStatus& aStat); |
1926 EFSRV_IMPORT_C TInt RemountDrive(TInt aDrive,const TDesC8* aMountInfo=NULL,TUint aFlags=0); |
1882 IMPORT_C void NotifyChange(TNotifyType aType,TRequestStatus& aStat,const TDesC& aPathName); |
1927 EFSRV_IMPORT_C void NotifyChange(TNotifyType aType,TRequestStatus& aStat); |
1883 IMPORT_C void NotifyChangeCancel(); |
1928 EFSRV_IMPORT_C void NotifyChange(TNotifyType aType,TRequestStatus& aStat,const TDesC& aPathName); |
1884 IMPORT_C void NotifyChangeCancel(TRequestStatus& aStat); |
1929 EFSRV_IMPORT_C void NotifyChangeCancel(); |
1885 IMPORT_C void NotifyDiskSpace(TInt64 aThreshold,TInt aDrive,TRequestStatus& aStat); |
1930 EFSRV_IMPORT_C void NotifyChangeCancel(TRequestStatus& aStat); |
1886 IMPORT_C void NotifyDiskSpaceCancel(TRequestStatus& aStat); |
1931 EFSRV_IMPORT_C void NotifyDiskSpace(TInt64 aThreshold,TInt aDrive,TRequestStatus& aStat); |
1887 IMPORT_C void NotifyDiskSpaceCancel(); |
1932 EFSRV_IMPORT_C void NotifyDiskSpaceCancel(TRequestStatus& aStat); |
1888 IMPORT_C TInt DriveList(TDriveList& aList) const; |
1933 EFSRV_IMPORT_C void NotifyDiskSpaceCancel(); |
1889 IMPORT_C TInt DriveList(TDriveList& aList, TUint aFlags) const; |
1934 EFSRV_IMPORT_C TInt DriveList(TDriveList& aList) const; |
1890 IMPORT_C TInt Drive(TDriveInfo& anInfo,TInt aDrive=KDefaultDrive) const; |
1935 EFSRV_IMPORT_C TInt DriveList(TDriveList& aList, TUint aFlags) const; |
1891 IMPORT_C TInt Volume(TVolumeInfo& aVol,TInt aDrive=KDefaultDrive) const; |
1936 EFSRV_IMPORT_C TInt Drive(TDriveInfo& anInfo,TInt aDrive=KDefaultDrive) const; |
1892 IMPORT_C void Volume(TVolumeInfo& aVol,TInt aDrive, TRequestStatus& aStat) const; |
1937 EFSRV_IMPORT_C TInt Volume(TVolumeInfo& aVol,TInt aDrive=KDefaultDrive) const; |
1893 IMPORT_C TInt SetVolumeLabel(const TDesC& aName,TInt aDrive=KDefaultDrive); |
1938 EFSRV_IMPORT_C void Volume(TVolumeInfo& aVol,TInt aDrive, TRequestStatus& aStat) const; |
1894 IMPORT_C TInt Subst(TDes& aPath,TInt aDrive=KDefaultDrive) const; |
1939 EFSRV_IMPORT_C TInt SetVolumeLabel(const TDesC& aName,TInt aDrive=KDefaultDrive); |
1895 IMPORT_C TInt SetSubst(const TDesC& aPath,TInt aDrive=KDefaultDrive); |
1940 EFSRV_IMPORT_C TInt Subst(TDes& aPath,TInt aDrive=KDefaultDrive) const; |
1896 IMPORT_C TInt RealName(const TDesC& aName,TDes& aResult) const; |
1941 EFSRV_IMPORT_C TInt SetSubst(const TDesC& aPath,TInt aDrive=KDefaultDrive); |
1897 IMPORT_C TInt GetMediaSerialNumber(TMediaSerialNumber& aSerialNum, TInt aDrive); |
1942 EFSRV_IMPORT_C TInt RealName(const TDesC& aName,TDes& aResult) const; |
1898 IMPORT_C TInt SessionPath(TDes& aPath) const; |
1943 EFSRV_IMPORT_C TInt GetMediaSerialNumber(TMediaSerialNumber& aSerialNum, TInt aDrive); |
1899 IMPORT_C TInt SetSessionPath(const TDesC& aPath); |
1944 EFSRV_IMPORT_C TInt SessionPath(TDes& aPath) const; |
1900 IMPORT_C TInt Parse(const TDesC& aName,TParse& aParse) const; |
1945 EFSRV_IMPORT_C TInt SetSessionPath(const TDesC& aPath); |
1901 IMPORT_C TInt Parse(const TDesC& aName,const TDesC& aRelated,TParse& aParse) const; |
1946 EFSRV_IMPORT_C TInt Parse(const TDesC& aName,TParse& aParse) const; |
1902 IMPORT_C TInt MkDir(const TDesC& aPath); |
1947 EFSRV_IMPORT_C TInt Parse(const TDesC& aName,const TDesC& aRelated,TParse& aParse) const; |
1903 IMPORT_C TInt MkDirAll(const TDesC& aPath); |
1948 EFSRV_IMPORT_C TInt MkDir(const TDesC& aPath); |
1904 IMPORT_C TInt RmDir(const TDesC& aPath); |
1949 EFSRV_IMPORT_C TInt MkDirAll(const TDesC& aPath); |
1905 IMPORT_C TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList) const; |
1950 EFSRV_IMPORT_C TInt RmDir(const TDesC& aPath); |
1906 IMPORT_C TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList) const; |
1951 EFSRV_IMPORT_C TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList) const; |
1907 IMPORT_C TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey,CDir*& aFileList) const; |
1952 EFSRV_IMPORT_C TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList) const; |
1908 IMPORT_C TInt Delete(const TDesC& aName); |
1953 EFSRV_IMPORT_C TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey,CDir*& aFileList) const; |
1909 IMPORT_C TInt Rename(const TDesC& anOldName,const TDesC& aNewName); |
1954 EFSRV_IMPORT_C TInt Delete(const TDesC& aName); |
1910 IMPORT_C TInt Replace(const TDesC& anOldName,const TDesC& aNewName); |
1955 EFSRV_IMPORT_C TInt Rename(const TDesC& anOldName,const TDesC& aNewName); |
1911 IMPORT_C TInt Att(const TDesC& aName,TUint& aAttValue) const; |
1956 EFSRV_IMPORT_C TInt Replace(const TDesC& anOldName,const TDesC& aNewName); |
1912 IMPORT_C TInt SetAtt(const TDesC& aName,TUint aSetAttMask,TUint aClearAttMask); |
1957 EFSRV_IMPORT_C TInt Att(const TDesC& aName,TUint& aAttValue) const; |
1913 IMPORT_C TInt Modified(const TDesC& aName,TTime& aTime) const; |
1958 EFSRV_IMPORT_C TInt SetAtt(const TDesC& aName,TUint aSetAttMask,TUint aClearAttMask); |
1914 IMPORT_C TInt SetModified(const TDesC& aName,const TTime& aTime); |
1959 EFSRV_IMPORT_C TInt Modified(const TDesC& aName,TTime& aTime) const; |
1915 IMPORT_C TInt Entry(const TDesC& aName,TEntry& anEntry) const; |
1960 EFSRV_IMPORT_C TInt SetModified(const TDesC& aName,const TTime& aTime); |
1916 IMPORT_C TInt SetEntry(const TDesC& aName,const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask); |
1961 EFSRV_IMPORT_C TInt Entry(const TDesC& aName,TEntry& anEntry) const; |
1917 IMPORT_C TInt ReadFileSection(const TDesC& aName,TInt aPos,TDes8& aDes,TInt aLength) const; |
1962 EFSRV_IMPORT_C TInt SetEntry(const TDesC& aName,const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask); |
1918 IMPORT_C static TBool IsValidDrive(TInt aDrive); |
1963 private: |
1919 IMPORT_C static TInt CharToDrive(TChar aChar,TInt& aDrive); |
1964 EFSRV_IMPORT_C TInt ReadFileSection_RESERVED(const TDesC& aName,TInt aPos,TDes8& aDes,TInt aLength) const; |
1920 IMPORT_C static TInt DriveToChar(TInt aDrive,TChar& aChar); |
1965 public: |
1921 IMPORT_C static TBool IsRomAddress(TAny* aAny); |
1966 EFSRV_IMPORT_C static TBool IsValidDrive(TInt aDrive); |
1922 IMPORT_C static TDriveNumber GetSystemDrive(); |
1967 EFSRV_IMPORT_C static TInt CharToDrive(TChar aChar,TInt& aDrive); |
1923 IMPORT_C static TChar GetSystemDriveChar(); |
1968 EFSRV_IMPORT_C static TInt DriveToChar(TInt aDrive,TChar& aChar); |
1924 IMPORT_C TInt SetSystemDrive(TDriveNumber aSystemDrive); |
1969 EFSRV_IMPORT_C static TBool IsRomAddress(TAny* aAny); |
1925 IMPORT_C void ResourceCountMarkStart() const; |
1970 EFSRV_IMPORT_C static TDriveNumber GetSystemDrive(); |
1926 IMPORT_C void ResourceCountMarkEnd() const; |
1971 EFSRV_IMPORT_C static TChar GetSystemDriveChar(); |
1927 IMPORT_C TInt ResourceCount() const; |
1972 EFSRV_IMPORT_C TInt SetSystemDrive(TDriveNumber aSystemDrive); |
1928 IMPORT_C TInt IsFileOpen(const TDesC& aFile,TBool& anAnswer) const; |
1973 EFSRV_IMPORT_C void ResourceCountMarkStart() const; |
1929 IMPORT_C TInt CheckDisk(const TDesC& aDrive) const; |
1974 EFSRV_IMPORT_C void ResourceCountMarkEnd() const; |
1930 IMPORT_C TInt ScanDrive(const TDesC& aDrive) const; |
1975 EFSRV_IMPORT_C TInt ResourceCount() const; |
1931 IMPORT_C TInt GetShortName(const TDesC& aLongName,TDes& aShortName) const; |
1976 EFSRV_IMPORT_C TInt IsFileOpen(const TDesC& aFile,TBool& anAnswer) const; |
1932 IMPORT_C TInt GetLongName(const TDesC& aShortName,TDes& aLongName) const; |
1977 EFSRV_IMPORT_C TInt CheckDisk(const TDesC& aDrive) const; |
1933 IMPORT_C TBool GetNotifyUser(); |
1978 EFSRV_IMPORT_C TInt ScanDrive(const TDesC& aDrive) const; |
1934 IMPORT_C void SetNotifyUser(TBool aValue); |
1979 EFSRV_IMPORT_C TInt GetShortName(const TDesC& aLongName,TDes& aShortName) const; |
1935 IMPORT_C TUint8* IsFileInRom(const TDesC& aFileName) const; |
1980 EFSRV_IMPORT_C TInt GetLongName(const TDesC& aShortName,TDes& aLongName) const; |
1936 IMPORT_C TBool IsValidName(const TDesC& anEntryName) const; |
1981 EFSRV_IMPORT_C TBool GetNotifyUser(); |
1937 IMPORT_C TBool IsValidName(const TDesC& aFileName,TText& aBadChar) const; |
1982 EFSRV_IMPORT_C void SetNotifyUser(TBool aValue); |
1938 IMPORT_C TInt GetDriveName(TInt aDrive,TDes& aDriveName) const; |
1983 EFSRV_IMPORT_C TUint8* IsFileInRom(const TDesC& aFileName) const; |
1939 IMPORT_C TInt SetDriveName(TInt aDrive,const TDesC& aDriveName); |
1984 EFSRV_IMPORT_C TBool IsValidName(const TDesC& anEntryName) const; |
1940 IMPORT_C TInt LoaderHeapFunction(TInt aFunction, TAny *aArg1=NULL, TAny *aArg2=NULL); |
1985 EFSRV_IMPORT_C TBool IsValidName(const TDesC& aFileName,TText& aBadChar) const; |
|
1986 EFSRV_IMPORT_C TInt GetDriveName(TInt aDrive,TDes& aDriveName) const; |
|
1987 EFSRV_IMPORT_C TInt SetDriveName(TInt aDrive,const TDesC& aDriveName); |
|
1988 EFSRV_IMPORT_C TInt LoaderHeapFunction(TInt aFunction, TAny *aArg1=NULL, TAny *aArg2=NULL); |
1941 IMPORT_C TInt SetErrorCondition(TInt anError,TInt aCount=0); |
1989 IMPORT_C TInt SetErrorCondition(TInt anError,TInt aCount=0); |
1942 IMPORT_C TInt SetDebugRegister(TInt aVal); |
1990 EFSRV_IMPORT_C TInt SetDebugRegister(TInt aVal); |
1943 IMPORT_C TInt SetAllocFailure(TInt aAllocNum); |
1991 EFSRV_IMPORT_C TInt SetAllocFailure(TInt aAllocNum); |
1944 IMPORT_C void DebugNotify(TInt aDrive,TUint aNotifyType,TRequestStatus& aStat); |
1992 EFSRV_IMPORT_C void DebugNotify(TInt aDrive,TUint aNotifyType,TRequestStatus& aStat); |
1945 IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand); |
1993 EFSRV_IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand); |
1946 IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1); |
1994 EFSRV_IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1); |
1947 IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1,TDes8& aParam2); |
1995 EFSRV_IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1,TDes8& aParam2); |
1948 IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TAny* aParam1,TAny* aParam2); |
1996 EFSRV_IMPORT_C TInt ControlIo(TInt aDrive,TInt aCommand,TAny* aParam1,TAny* aParam2); |
1949 IMPORT_C TInt LockDrive(TInt aDrv, const TMediaPassword &aOld, const TMediaPassword &aNew, TBool aStr); |
1997 EFSRV_IMPORT_C TInt LockDrive(TInt aDrv, const TMediaPassword &aOld, const TMediaPassword &aNew, TBool aStr); |
1950 IMPORT_C TInt UnlockDrive(TInt aDrv, const TMediaPassword &Pswd, TBool aStr); |
1998 EFSRV_IMPORT_C TInt UnlockDrive(TInt aDrv, const TMediaPassword &Pswd, TBool aStr); |
1951 IMPORT_C TInt ClearPassword(TInt aDrv, const TMediaPassword &aPswd); |
1999 EFSRV_IMPORT_C TInt ClearPassword(TInt aDrv, const TMediaPassword &aPswd); |
1952 IMPORT_C TInt ErasePassword(TInt aDrv); |
2000 EFSRV_IMPORT_C TInt ErasePassword(TInt aDrv); |
1953 IMPORT_C TInt SetSessionToPrivate(TInt aDrive); |
2001 EFSRV_IMPORT_C TInt SetSessionToPrivate(TInt aDrive); |
1954 IMPORT_C TInt PrivatePath(TDes& aPath); |
2002 EFSRV_IMPORT_C TInt PrivatePath(TDes& aPath); |
1955 IMPORT_C TInt CreatePrivatePath(TInt aDrive); |
2003 EFSRV_IMPORT_C TInt CreatePrivatePath(TInt aDrive); |
1956 IMPORT_C void StartupInitComplete(TRequestStatus& aStat); |
2004 EFSRV_IMPORT_C void StartupInitComplete(TRequestStatus& aStat); |
1957 IMPORT_C TInt SetLocalDriveMapping(const TDesC8& aMapping); |
2005 EFSRV_IMPORT_C TInt SetLocalDriveMapping(const TDesC8& aMapping); |
1958 |
2006 |
1959 IMPORT_C TInt FinaliseDrives(); |
2007 EFSRV_IMPORT_C TInt FinaliseDrives(); |
1960 |
2008 |
1961 /** specifies drive finalisation modes */ |
2009 /** specifies drive finalisation modes */ |
1962 enum TFinaliseDrvMode |
2010 enum TFinaliseDrvMode |
1963 { |
2011 { |
1964 EFinal_RW, ///< after successful finalisation the drive remains writable and will become "not finalised" after the first write operation. |
2012 EFinal_RW, ///< after successful finalisation the drive remains writable and will become "not finalised" after the first write operation. |
1965 EFinal_RO, ///< after successful finalisation the drive becomes read-only |
2013 EFinal_RO, ///< after successful finalisation the drive becomes read-only |
1966 EForceUnfinalise///< @internalComponent mark the drive as "not finalised" can result in KErrAbort if the dive is in inconsistent state. |
2014 EForceUnfinalise///< @internalComponent mark the drive as "not finalised" can result in KErrAbort if the dive is in inconsistent state. |
1967 }; |
2015 }; |
1968 |
2016 |
1969 IMPORT_C TInt FinaliseDrive(TInt aDriveNo, TFinaliseDrvMode aMode) const; |
2017 EFSRV_IMPORT_C TInt FinaliseDrive(TInt aDriveNo, TFinaliseDrvMode aMode) const; |
1970 |
2018 |
1971 IMPORT_C TInt SwapFileSystem(const TDesC& aOldFileSystemName,const TDesC& aNewFileSystemName,TInt aDrive) const; |
2019 EFSRV_IMPORT_C TInt SwapFileSystem(const TDesC& aOldFileSystemName,const TDesC& aNewFileSystemName,TInt aDrive) const; |
1972 IMPORT_C TInt ReserveDriveSpace(TInt aDriveNo, TInt aSpace); |
2020 EFSRV_IMPORT_C TInt ReserveDriveSpace(TInt aDriveNo, TInt aSpace); |
1973 IMPORT_C TInt GetReserveAccess(TInt aDriveNo); |
2021 EFSRV_IMPORT_C TInt GetReserveAccess(TInt aDriveNo); |
1974 IMPORT_C TInt ReleaseReserveAccess(TInt aDriveNo); |
2022 EFSRV_IMPORT_C TInt ReleaseReserveAccess(TInt aDriveNo); |
1975 |
2023 |
1976 IMPORT_C TInt AddPlugin(const TDesC& aFileName) const; |
2024 EFSRV_IMPORT_C TInt AddPlugin(const TDesC& aFileName) const; |
1977 IMPORT_C TInt RemovePlugin(const TDesC& aPluginName) const; |
2025 EFSRV_IMPORT_C TInt RemovePlugin(const TDesC& aPluginName) const; |
1978 IMPORT_C TInt PluginName(TDes& aPluginName,TInt aDrive,TInt aPos); |
2026 EFSRV_IMPORT_C TInt PluginName(TDes& aPluginName,TInt aDrive,TInt aPos); |
1979 |
2027 |
1980 IMPORT_C TInt MountPlugin(const TDesC& aPluginName) const; |
2028 EFSRV_IMPORT_C TInt MountPlugin(const TDesC& aPluginName) const; |
1981 IMPORT_C TInt MountPlugin(const TDesC& aPluginName,TInt aDrive) const; |
2029 EFSRV_IMPORT_C TInt MountPlugin(const TDesC& aPluginName,TInt aDrive) const; |
1982 IMPORT_C TInt MountPlugin(const TDesC& aPluginName,TInt aDrive, TInt aPos) const; |
2030 EFSRV_IMPORT_C TInt MountPlugin(const TDesC& aPluginName,TInt aDrive, TInt aPos) const; |
1983 |
2031 |
1984 IMPORT_C TInt DismountPlugin(const TDesC& aPluginName) const; |
2032 EFSRV_IMPORT_C TInt DismountPlugin(const TDesC& aPluginName) const; |
1985 IMPORT_C TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive) const; |
2033 EFSRV_IMPORT_C TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive) const; |
1986 IMPORT_C TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive,TInt aPos) const; |
2034 EFSRV_IMPORT_C TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive,TInt aPos) const; |
1987 |
2035 |
1988 IMPORT_C void NotifyDismount(TInt aDrive, TRequestStatus& aStat, TNotifyDismountMode aMode=EFsDismountRegisterClient) const; |
2036 EFSRV_IMPORT_C void NotifyDismount(TInt aDrive, TRequestStatus& aStat, TNotifyDismountMode aMode=EFsDismountRegisterClient) const; |
1989 IMPORT_C void NotifyDismountCancel(TRequestStatus& aStat) const; |
2037 EFSRV_IMPORT_C void NotifyDismountCancel(TRequestStatus& aStat) const; |
1990 IMPORT_C void NotifyDismountCancel() const; |
2038 EFSRV_IMPORT_C void NotifyDismountCancel() const; |
1991 IMPORT_C TInt AllowDismount(TInt aDrive) const; |
2039 EFSRV_IMPORT_C TInt AllowDismount(TInt aDrive) const; |
1992 IMPORT_C TInt SetStartupConfiguration(TInt aCommand,TAny* aParam1,TAny* aParam2) const; |
2040 EFSRV_IMPORT_C TInt SetStartupConfiguration(TInt aCommand,TAny* aParam1,TAny* aParam2) const; |
1993 IMPORT_C TInt AddCompositeMount(const TDesC& aFileSystemName,TInt aLocalDriveToMount,TInt aCompositeDrive, TBool aSync) const; |
2041 EFSRV_IMPORT_C TInt AddCompositeMount(const TDesC& aFileSystemName,TInt aLocalDriveToMount,TInt aCompositeDrive, TBool aSync) const; |
1994 IMPORT_C TInt SetNotifyChange(TBool aNotifyChange); |
2042 EFSRV_IMPORT_C TInt SetNotifyChange(TBool aNotifyChange); |
1995 IMPORT_C TInt QueryVolumeInfoExt(TInt aDrive, TQueryVolumeInfoExtCmd aCommand, TDes8& aInfo) const; |
2043 EFSRV_IMPORT_C TInt QueryVolumeInfoExt(TInt aDrive, TQueryVolumeInfoExtCmd aCommand, TDes8& aInfo) const; |
1996 IMPORT_C TInt VolumeIOParam(TInt aDriveNo, TVolumeIOParamInfo& aParamInfo) const; |
2044 EFSRV_IMPORT_C TInt VolumeIOParam(TInt aDriveNo, TVolumeIOParamInfo& aParamInfo) const; |
1997 IMPORT_C TInt FileSystemSubType(TInt aDriveNo, TDes& aName) const; |
2045 EFSRV_IMPORT_C TInt FileSystemSubType(TInt aDriveNo, TDes& aName) const; |
1998 IMPORT_C TInt InitialisePropertiesFile(const TPtrC8& aPtr) const; |
2046 EFSRV_IMPORT_C TInt InitialisePropertiesFile(const TPtrC8& aPtr) const; |
1999 |
2047 |
|
2048 IMPORT_C TInt AddProxyDrive(const TDesC& aFileName); |
|
2049 IMPORT_C TInt RemoveProxyDrive(const TDesC& aDriveName); |
|
2050 |
|
2051 template <class T0,class T1> inline TInt MountProxyDrive(const TUint aDrive, const TDesC& aName, T0 a0, T1 a1) |
|
2052 { return(DoMountProxyDrive(TIpcArgs(aDrive, &aName, a0, a1))); }; |
|
2053 IMPORT_C TInt DismountProxyDrive(const TUint aDrive); |
|
2054 |
2000 TInt Unclamp(const RFileClamp& aHandle); |
2055 TInt Unclamp(const RFileClamp& aHandle); |
|
2056 |
|
2057 EFSRV_IMPORT_C TInt ReadFileSection(const TDesC& aName,TInt64 aPos,TDes8& aDes,TInt aLength) const; |
|
2058 |
|
2059 /** |
|
2060 This class is used to for returning meaningful error code values to users of RFs::IsValidName(const TDesC& ,TNameValidParam& ) |
|
2061 @see TError |
|
2062 */ |
|
2063 class TNameValidParam |
|
2064 { |
|
2065 public: |
|
2066 /** Initialises the members of the class. By default iUseSessionPath is set to EFalse, however one could set it to ETrue.*/ |
|
2067 inline TNameValidParam(TBool aUseSessionPath = EFalse); |
|
2068 |
|
2069 /** possible error codes */ |
|
2070 enum TError |
|
2071 { |
|
2072 ErrNone, ///< no error. |
|
2073 ErrBadCharacter, ///< aName contains a bad character; and its position is in iInvalidCharPos. |
|
2074 ErrBadName, ///< aName isn't a valid file or directory name. |
|
2075 ErrNameTooLong ///< aName length or aName + session path length (see iUseSessionPath) is longer than 256 characters. |
|
2076 }; |
|
2077 |
|
2078 inline TError ErrorCode() const; |
|
2079 inline void UseSessionPath(TBool aUseSessionPath); |
|
2080 inline TUint InvalidCharPos() const; |
|
2081 friend class TFsIsValidName; |
|
2082 private: |
|
2083 TError iError; ///< the reason why aName is invalid, see TError |
|
2084 TBool iUseSessionPath; ///< if ETrue, and if aName isn't fully specified, missing parts will be taken from the session path |
|
2085 TUint iInvalidCharPos; ///< may contain invalid character position if error is ErrBadCharacter,else 0. |
|
2086 }; |
|
2087 EFSRV_IMPORT_C TBool IsValidName(const TDesC& aName, TNameValidParam& aParam ); |
|
2088 |
|
2089 /** Special enumerator values for the SupportedFileSystemName() API */ |
|
2090 enum |
|
2091 { |
|
2092 KRootFileSystem = 0x00800000, ///< specifies "root" file system. The result will be the same as for FileSystemName() API call |
|
2093 KFirstChildFileSystem = 0 ///< specifies the first child file system number, the second will be KFirstChildFileSystem+1 etc. |
|
2094 }; |
|
2095 |
|
2096 EFSRV_IMPORT_C TInt SupportedFileSystemName(TDes& aName, TInt aDrive, TInt aFsEnumerator) const; |
|
2097 |
|
2098 protected: |
|
2099 TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const; |
2001 |
2100 |
2002 private: |
2101 private: |
2003 void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList,RDir& aDir) const; |
2102 void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList,RDir& aDir) const; |
2004 void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2103 void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2005 void GetDirL(const TDesC& aMatchName,const TUidType& aUidType,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2104 void GetDirL(const TDesC& aMatchName,const TUidType& aUidType,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2006 void DoGetDirL(TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2105 void DoGetDirL(TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const; |
2007 TInt GetOpenFileList(TInt& aSessionNum,TInt& aLocalPos,TThreadId& aThreadId,TEntryArray& anArray) const; |
2106 TInt GetOpenFileList(TInt& aSessionNum,TInt& aLocalPos,TThreadId& aThreadId,TEntryArray& anArray) const; |
|
2107 |
|
2108 IMPORT_C TInt DoMountProxyDrive(const TIpcArgs& ipcArgs); |
|
2109 |
2008 friend class TOpenFileScan; |
2110 friend class TOpenFileScan; |
2009 }; |
2111 friend class RFsPlugin; |
2010 |
2112 }; |
2011 |
2113 |
2012 |
2114 |
2013 |
2115 //------------------------------------------------------------------------------------------------------------------- |
2014 |
2116 |
2015 |
2117 /** |
2016 |
2118 |
|
2119 Base class for volume formatting parameters. This class package buffer, TVolFormatParamBuf or |
|
2120 packaged buffer of the derived class can be passed to the RFormat::Open() in order to provide |
|
2121 file system-specific formatting parameters. |
|
2122 Each file system that supports such formatting parameters shall have this class specialisation (e.g. TVolFormatParam_FAT) |
|
2123 All classes, derived from this one must have the same size as the base class. |
|
2124 In order to use formatting parameters the format mode shall have ESpecialFormat bit flag set. |
|
2125 |
|
2126 |
|
2127 @see RFormat::Open(RFs&,const TDesC&,TUint,TInt& ,const TDesC8& anInfo); |
|
2128 @see TVolFormatParamBuf |
|
2129 |
|
2130 @publishedAll |
|
2131 @released |
|
2132 */ |
|
2133 class TVolFormatParam |
|
2134 { |
|
2135 public: |
|
2136 inline TVolFormatParam(); |
|
2137 inline void Init(); |
|
2138 |
|
2139 inline void SetFileSystemName(const TDesC& aFsName); |
|
2140 |
|
2141 static inline TUint32 CalcFSNameHash(const TDesC& aFsName); |
|
2142 inline TUint32 FSNameHash() const; |
|
2143 |
|
2144 inline TBool SomeParamsSet() const; |
|
2145 |
|
2146 |
|
2147 protected: |
|
2148 |
|
2149 |
|
2150 enum {KMaxDataSlots = 64}; ///< the size of data array iData |
|
2151 |
|
2152 inline void SetVal(TUint aIndex, TUint32 aVal); |
|
2153 inline TUint32 GetVal(TUint aIndex) const; |
|
2154 |
|
2155 |
|
2156 public: |
|
2157 enum {KUId = 0x820116A2}; ///< this value shell be in iUid field to identify this class object |
|
2158 |
|
2159 /** |
|
2160 This class tree UID. Used to distinguish the object of this class from TLDFormatInfo and other possible data structures. |
|
2161 For this and derived classes this field must be KUId. This field offset in the class must be 0 |
|
2162 */ |
|
2163 const TUint32 iUId; |
|
2164 |
|
2165 private: |
|
2166 TUint32 iFSysNameHash; ///< Up-cased file system name hash (crc32) used to designate the file system. 0 means "not set" |
|
2167 TBool iParamsSet : 1; ///< ETrue if any parameter was set (SetVal() called). Gets reset to EFalse by Init() |
|
2168 TUint32 iData[KMaxDataSlots]; ///< used as a pool for various data. The derived classes are free to use it by SetVal()/GetVal() |
|
2169 }; |
|
2170 |
|
2171 __ASSERT_COMPILE(_FOFF(TVolFormatParam, iUId) == 0); |
|
2172 |
|
2173 |
|
2174 /** package buffer for the objects of class TVolFormatParamBuf */ |
|
2175 typedef TPckgBuf<TVolFormatParam> TVolFormatParamBuf; |
|
2176 |
|
2177 |
|
2178 |
|
2179 |
|
2180 #ifndef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
2017 /** |
2181 /** |
2018 @publishedAll |
2182 @publishedAll |
2019 @released |
2183 @released |
2020 |
2184 |
2021 Creates and opens a file, and performs all operations on a single open file. |
2185 Creates and opens a file, and performs all operations on a single open file. |
2067 as binary and byte descriptors are used (TDes8, TDesC8). |
2231 as binary and byte descriptors are used (TDes8, TDesC8). |
2068 |
2232 |
2069 @see TDes8 |
2233 @see TDes8 |
2070 @see TDesC8 |
2234 @see TDesC8 |
2071 */ |
2235 */ |
|
2236 #else |
|
2237 /** |
|
2238 @publishedAll |
|
2239 @released |
|
2240 |
|
2241 Creates and opens a file, and performs all operations on a single open file. |
|
2242 |
|
2243 These include: |
|
2244 |
|
2245 - reading from and writing to the file |
|
2246 |
|
2247 - seeking to a position within the file |
|
2248 |
|
2249 - locking and unlocking within the file |
|
2250 |
|
2251 - setting file attributes |
|
2252 |
|
2253 Before using any of these services, a connection to a file server session must |
|
2254 have been made, and the file must be open. |
|
2255 |
|
2256 Opening Files: |
|
2257 |
|
2258 - use Open() to open an existing file for reading or writing; an error is |
|
2259 returned if it does not already exist. |
|
2260 To open an existing file for reading only, use Open() with an access mode of |
|
2261 EFileRead, and a share mode of EFileShareReadersOnly. |
|
2262 |
|
2263 - use Create() to create and open a new file for writing; an error is returned |
|
2264 if it already exists. |
|
2265 |
|
2266 - use Replace() to open a file for writing, replacing any existing file of |
|
2267 the same name if one exists, or creating a new file if one does not exist. |
|
2268 Note that if a file exists, its length is reset to zero. |
|
2269 |
|
2270 - use Temp() to create and open a temporary file with a unique name, |
|
2271 for writing and reading. |
|
2272 |
|
2273 When opening a file, you must specify the file server session to use for |
|
2274 operations with that file. If you do not close the file explicitly, it is |
|
2275 closed when the server session associated with it is closed. |
|
2276 |
|
2277 Reading and Writing: |
|
2278 |
|
2279 There are several variants of both Read() and Write(). |
|
2280 The basic Read(TDes8& aDes) and Write(const TDesC8& aDes) are supplemented |
|
2281 by variants allowing the descriptor length to be overridden, or the seek |
|
2282 position of the first byte to be specified, or asynchronous completion, |
|
2283 or any combination. |
|
2284 |
|
2285 Reading transfers data from a file to a descriptor, and writing transfers |
|
2286 data from a descriptor to a file. In all cases, the file data is treated |
|
2287 as binary and byte descriptors are used (TDes8, TDesC8). |
|
2288 |
|
2289 RFile class supports operations on files of size less than or equal to 2GB - 1. |
|
2290 If the file size is greater than 2GB - 1 (large file), use of class RFile64 is |
|
2291 recommended for following operations: |
|
2292 1. Opening a large file |
|
2293 2. Creating a file which can grow beyond 2GB - 1 by size |
|
2294 3. Creating a temporary file which can grow beyond 2GB - 1 by size |
|
2295 4. Replacing an existing file after which it can grow beyond 2GB - 1 by size |
|
2296 5. Adopting a large file handle from client |
|
2297 6. Adopting a large file handle from server |
|
2298 7. Adopting a large file handle from another process |
|
2299 8. Read from a position greater than 2GB - 1 |
|
2300 9. Writing to a file by which the size can grow beyond 2GB - 1 |
|
2301 10. Seek to a position greater than 2GB - 1 |
|
2302 11. Setting a size greater than 2GB - 1 |
|
2303 12. Querying the file size (greater than 2GB - 1) |
|
2304 13. Locking and unlocking a position and length that is beyond 2GB - 1 |
|
2305 |
|
2306 @see TDes8 |
|
2307 @see TDesC8 |
|
2308 |
|
2309 @see RFile64 |
|
2310 |
|
2311 */ |
|
2312 |
|
2313 #endif |
|
2314 |
|
2315 |
2072 class RFile : public RSubSessionBase |
2316 class RFile : public RSubSessionBase |
2073 { |
2317 { |
2074 public: |
2318 public: |
2075 IMPORT_C TInt Open(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2319 EFSRV_IMPORT_C TInt Open(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2076 IMPORT_C void Close(); |
2320 EFSRV_IMPORT_C void Close(); |
2077 IMPORT_C TInt Create(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2321 EFSRV_IMPORT_C TInt Create(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2078 IMPORT_C TInt Replace(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2322 EFSRV_IMPORT_C TInt Replace(RFs& aFs,const TDesC& aName,TUint aFileMode); |
2079 IMPORT_C TInt Temp(RFs& aFs,const TDesC& aPath,TFileName& aName,TUint aFileMode); |
2323 EFSRV_IMPORT_C TInt Temp(RFs& aFs,const TDesC& aPath,TFileName& aName,TUint aFileMode); |
2080 IMPORT_C TInt Read(TDes8& aDes) const; |
2324 EFSRV_IMPORT_C TInt Read(TDes8& aDes) const; |
2081 IMPORT_C void Read(TDes8& aDes,TRequestStatus& aStatus) const; |
2325 EFSRV_IMPORT_C void Read(TDes8& aDes,TRequestStatus& aStatus) const; |
2082 IMPORT_C TInt Read(TDes8& aDes,TInt aLength) const; |
2326 EFSRV_IMPORT_C TInt Read(TDes8& aDes,TInt aLength) const; |
2083 IMPORT_C void Read(TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const; |
2327 EFSRV_IMPORT_C void Read(TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const; |
2084 IMPORT_C TInt Read(TInt aPos,TDes8& aDes) const; |
2328 EFSRV_IMPORT_C TInt Read(TInt aPos,TDes8& aDes) const; |
2085 IMPORT_C void Read(TInt aPos,TDes8& aDes,TRequestStatus& aStatus) const; |
2329 EFSRV_IMPORT_C void Read(TInt aPos,TDes8& aDes,TRequestStatus& aStatus) const; |
2086 IMPORT_C TInt Read(TInt aPos,TDes8& aDes,TInt aLength) const; |
2330 EFSRV_IMPORT_C TInt Read(TInt aPos,TDes8& aDes,TInt aLength) const; |
2087 IMPORT_C void Read(TInt aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const; |
2331 EFSRV_IMPORT_C void Read(TInt aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const; |
2088 IMPORT_C void ReadCancel(TRequestStatus& aStatus) const; |
2332 EFSRV_IMPORT_C void ReadCancel(TRequestStatus& aStatus) const; |
2089 IMPORT_C void ReadCancel() const; |
2333 EFSRV_IMPORT_C void ReadCancel() const; |
2090 IMPORT_C TInt Write(const TDesC8& aDes); |
2334 EFSRV_IMPORT_C TInt Write(const TDesC8& aDes); |
2091 IMPORT_C void Write(const TDesC8& aDes,TRequestStatus& aStatus); |
2335 EFSRV_IMPORT_C void Write(const TDesC8& aDes,TRequestStatus& aStatus); |
2092 IMPORT_C TInt Write(const TDesC8& aDes,TInt aLength); |
2336 EFSRV_IMPORT_C TInt Write(const TDesC8& aDes,TInt aLength); |
2093 IMPORT_C void Write(const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus); |
2337 EFSRV_IMPORT_C void Write(const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus); |
2094 IMPORT_C TInt Write(TInt aPos,const TDesC8& aDes); |
2338 EFSRV_IMPORT_C TInt Write(TInt aPos,const TDesC8& aDes); |
2095 IMPORT_C void Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus); |
2339 EFSRV_IMPORT_C void Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus); |
2096 IMPORT_C TInt Write(TInt aPos,const TDesC8& aDes,TInt aLength); |
2340 EFSRV_IMPORT_C TInt Write(TInt aPos,const TDesC8& aDes,TInt aLength); |
2097 IMPORT_C void Write(TInt aPos,const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus); |
2341 EFSRV_IMPORT_C void Write(TInt aPos,const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus); |
2098 IMPORT_C TInt Lock(TInt aPos,TInt aLength) const; |
2342 EFSRV_IMPORT_C TInt Lock(TInt aPos,TInt aLength) const; |
2099 IMPORT_C TInt UnLock(TInt aPos,TInt aLength) const; |
2343 EFSRV_IMPORT_C TInt UnLock(TInt aPos,TInt aLength) const; |
2100 IMPORT_C TInt Seek(TSeek aMode,TInt& aPos) const; |
2344 EFSRV_IMPORT_C TInt Seek(TSeek aMode,TInt& aPos) const; |
2101 IMPORT_C TInt Flush(); |
2345 EFSRV_IMPORT_C TInt Flush(); |
2102 IMPORT_C void Flush(TRequestStatus& aStatus); |
2346 EFSRV_IMPORT_C void Flush(TRequestStatus& aStatus); |
2103 IMPORT_C TInt Size(TInt& aSize) const; |
2347 EFSRV_IMPORT_C TInt Size(TInt& aSize) const; |
2104 IMPORT_C TInt SetSize(TInt aSize); |
2348 EFSRV_IMPORT_C TInt SetSize(TInt aSize); |
2105 IMPORT_C TInt Att(TUint& aAttValue) const; |
2349 EFSRV_IMPORT_C TInt Att(TUint& aAttValue) const; |
2106 IMPORT_C TInt SetAtt(TUint aSetAttMask,TUint aClearAttMask); |
2350 EFSRV_IMPORT_C TInt SetAtt(TUint aSetAttMask,TUint aClearAttMask); |
2107 IMPORT_C TInt Modified(TTime& aTime) const; |
2351 EFSRV_IMPORT_C TInt Modified(TTime& aTime) const; |
2108 IMPORT_C TInt SetModified(const TTime& aTime); |
2352 EFSRV_IMPORT_C TInt SetModified(const TTime& aTime); |
2109 IMPORT_C TInt Set(const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask); |
2353 EFSRV_IMPORT_C TInt Set(const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask); |
2110 IMPORT_C TInt ChangeMode(TFileMode aNewMode); |
2354 EFSRV_IMPORT_C TInt ChangeMode(TFileMode aNewMode); |
2111 IMPORT_C TInt Rename(const TDesC& aNewName); |
2355 EFSRV_IMPORT_C TInt Rename(const TDesC& aNewName); |
2112 IMPORT_C TInt Drive(TInt &aDriveNumber, TDriveInfo &aDriveInfo) const; |
2356 EFSRV_IMPORT_C TInt Drive(TInt &aDriveNumber, TDriveInfo &aDriveInfo) const; |
2113 IMPORT_C TInt Adopt(RFs& aFs, TInt aHandle); |
2357 EFSRV_IMPORT_C TInt Adopt(RFs& aFs, TInt aHandle); |
2114 IMPORT_C TInt AdoptFromClient(const RMessage2& aMsg, TInt aFsHandleIndex, TInt aFileHandleIndex); |
2358 EFSRV_IMPORT_C TInt AdoptFromClient(const RMessage2& aMsg, TInt aFsHandleIndex, TInt aFileHandleIndex); |
2115 IMPORT_C TInt AdoptFromServer(TInt aFsHandle, TInt aFileHandle); |
2359 EFSRV_IMPORT_C TInt AdoptFromServer(TInt aFsHandle, TInt aFileHandle); |
2116 IMPORT_C TInt AdoptFromCreator(TInt aFsIndex, TInt aFileHandleIndex); |
2360 EFSRV_IMPORT_C TInt AdoptFromCreator(TInt aFsIndex, TInt aFileHandleIndex); |
2117 IMPORT_C TInt Name(TDes& aName) const; |
2361 EFSRV_IMPORT_C TInt Name(TDes& aName) const; |
2118 IMPORT_C TInt TransferToServer(TIpcArgs& aIpcArgs, TInt aFsHandleIndex, TInt aFileHandleIndex) const; |
2362 EFSRV_IMPORT_C TInt TransferToServer(TIpcArgs& aIpcArgs, TInt aFsHandleIndex, TInt aFileHandleIndex) const; |
2119 IMPORT_C TInt TransferToClient(const RMessage2& aMsg, TInt aFileHandleIndex) const; |
2363 EFSRV_IMPORT_C TInt TransferToClient(const RMessage2& aMsg, TInt aFileHandleIndex) const; |
2120 IMPORT_C TInt TransferToProcess(RProcess& aProcess, TInt aFsHandleIndex, TInt aFileHandleIndex) const; |
2364 EFSRV_IMPORT_C TInt TransferToProcess(RProcess& aProcess, TInt aFsHandleIndex, TInt aFileHandleIndex) const; |
2121 IMPORT_C TInt Duplicate(const RFile& aFile, TOwnerType aType=EOwnerProcess); |
2365 EFSRV_IMPORT_C TInt Duplicate(const RFile& aFile, TOwnerType aType=EOwnerProcess); |
2122 IMPORT_C TInt FullName(TDes& aName) const; |
2366 EFSRV_IMPORT_C TInt FullName(TDes& aName) const; |
2123 IMPORT_C TInt BlockMap(SBlockMapInfo& aInfo, TInt64& aStartPos, TInt64 aEndPos=-1, TInt aBlockMapusage=EBlockMapUsagePaging) const; |
2367 EFSRV_IMPORT_C TInt BlockMap(SBlockMapInfo& aInfo, TInt64& aStartPos, TInt64 aEndPos=-1, TInt aBlockMapusage=EBlockMapUsagePaging) const; |
2124 // IMPORT_C TInt Clamp(RFileClamp& aHandle); |
|
2125 TInt Clamp(RFileClamp& aHandle); |
2368 TInt Clamp(RFileClamp& aHandle); |
2126 |
2369 |
2127 private: |
2370 protected: |
|
2371 // RSubSessionBase overrides |
|
2372 TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs); |
|
2373 void CloseSubSession(TInt aFunction); |
|
2374 TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const; |
|
2375 |
2128 TInt DuplicateHandle(TInt& aSubSessionHandle) const; |
2376 TInt DuplicateHandle(TInt& aSubSessionHandle) const; |
2129 }; |
2377 |
2130 |
2378 friend class RFilePlugin; |
2131 |
2379 }; |
|
2380 |
|
2381 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API |
|
2382 #include <f32file64.h> |
|
2383 #endif |
2132 |
2384 |
2133 class RDir : public RSubSessionBase |
2385 class RDir : public RSubSessionBase |
2134 /** |
2386 /** |
2135 @publishedAll |
2387 @publishedAll |
2136 @released |
2388 @released |