Convert Kernelhwsrv package from SFL to EPL
kernel\eka\compsupp is subject to the ARM EABI LICENSE
userlibandfileserver\fatfilenameconversionplugins\unicodeTables is subject to the Unicode license
kernel\eka\kernel\zlib is subject to the zlib license
// 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:// f32\sfsrv\cl_debug.cpp// //#include "cl_std.h"#include <f32dbg.h>EXPORT_C TInt RFs::LoaderHeapFunction(TInt, TAny *, TAny *)/**This member function is not implemented in this version of Symbian OS. It always returns KErrNotSupported.@param aFunction@param *aArg1@param *aArg2@return KErrNotSupported is returned always.*/ { return KErrNotSupported; }#if defined(_DEBUG) || defined(_DEBUG_RELEASE)EXPORT_C TInt RFs::SetErrorCondition(TInt anError,TInt aCount)/**Sets the failure condition.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param anError An error condition to be simulated@param aCount An error condition is set after aCount instances of occurence.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return(SendReceive(EFsDebugFunction,TIpcArgs(EFsSetErrorCondition,anError,aCount))); }EXPORT_C TInt RFs::SetDebugRegister(TInt aVal)/**Sets the debug register to the given value.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aVal Value to be set@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return(SendReceive(EFsDebugFunction,TIpcArgs(EFsSetDebugRegister,aVal))); }EXPORT_C TInt RFs::SetAllocFailure(TInt aAllocNum)/**Fails an allocation after aAllocNum successes.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aAllocNum Count after which allocation failure is expected.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return(SendReceive(EFsDebugFunction,TIpcArgs(EFsSetAllocFailure,aAllocNum))); }EXPORT_C void RFs::DebugNotify(TInt aDrive,TUint aNotifyType,TRequestStatus& aStat)/**Request notification of a file server event - file system specific.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which the file server event notification is requested; this can be one of the values defined by TDriveNumber.@param aNotifyType A number identifying the event that should cause notification;@param aStat The request status used to contain completion information for the function. On completion, contains a system-wide error code.@see RFs::TDriveNumber()@see TRequestStatus*/ { aStat=KRequestPending; RSessionBase::SendReceive(EFsDebugFunction, TIpcArgs(EFsDebugNotify,aDrive,aNotifyType,&aStat), aStat);// if (r!=KErrNone)// {// TRequestStatus* pStat=&aStat;// User::RequestComplete(pStat,r);// } }#elseEXPORT_C TInt RFs::SetErrorCondition(TInt,TInt)/**Sets the failure condition.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param anError An error condition to be simulated@param aCount An error condition is set after aCount instances of occurence.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return KErrNotSupported; }EXPORT_C TInt RFs::SetDebugRegister(TInt)/**Sets the debug register to the given value.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aVal Value to be set@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return KErrNotSupported; }EXPORT_C TInt RFs::SetAllocFailure(TInt)/**Fails an allocation after aAllocNum successes.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aAllocNum Count after which allocation failure is expected.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.*/ { return KErrNotSupported; }EXPORT_C void RFs::DebugNotify(TInt,TUint,TRequestStatus& aStat)/**Request notification of a file server event - file system specific.This function can only be used in debug builds or if _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which the file server event notification is requested; this can be one of the values defined by TDriveNumber.@param aNotifyType A number identifying the event that should cause notification;@param aStat The request status used to contain completion information for the function. On completion, contains a system-wide error code.@see RFs::TDriveNumber()@see TRequestStatus*/ { TRequestStatus* pStat=&aStat; User::RequestComplete(pStat,KErrNotSupported); }#endif#if defined(_USE_CONTROLIO) || defined(_DEBUG) || defined(_DEBUG_RELEASE)EXPORT_C TInt RFs::ControlIo(TInt aDrive,TInt aCommand)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.There are drive specific and non-drive specific commands. Following are non-drive specific commands@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return(SendReceive(EFsControlIo,TIpcArgs(aDrive,aCommand))); }EXPORT_C TInt RFs::ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@return TInt On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return(SendReceive(EFsControlIo,TIpcArgs(aDrive,aCommand,&aParam1))); }EXPORT_C TInt RFs::ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1,TDes8& aParam2)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@param aParam2 Placeholder for a parameter, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return(SendReceive(EFsControlIo,TIpcArgs(aDrive,aCommand,&aParam1,&aParam2))); }EXPORT_C TInt RFs::ControlIo(TInt aDrive,TInt aCommand,TAny* aParam1,TAny* aParam2)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@param aParam2 Placeholder for a parameter, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return(SendReceive(EFsControlIo,TIpcArgs(aDrive,aCommand,aParam1,aParam2))); }#elseEXPORT_C TInt RFs::ControlIo(TInt,TInt)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.There are drive specific and non-drive specific commands. Following are non-drive specific commands@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return KErrNotSupported; }EXPORT_C TInt RFs::ControlIo(TInt,TInt,TDes8&)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return KErrNotSupported; }EXPORT_C TInt RFs::ControlIo(TInt,TInt,TDes8&,TDes8&)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@param aParam2 Placeholder for a parameter, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return KErrNotSupported; }EXPORT_C TInt RFs::ControlIo(TInt,TInt,TAny*,TAny*)/**General purpose test interface - file system specific.This function can only be used in debug builds or if _USE_CONTROLIO, _DEBUG or _DEBUG_RELEASE is defined. In release build, this method is not implemented and it always returns KErrNotSupported.@param aDrive A drive on which aCommand is to be executed; this can be one of the values defined by TDriveNumber.@param aCommand A command to be executed, specific to the file system implementation.@param aParam1 Placeholder for a parameter, specific to the file system implementation.@param aParam2 Placeholder for a parameter, specific to the file system implementation.@return On completion, KErrNone if successful, otherwise one of the system wide error codes in debug builds. KErrNotSupported in release build.@see RFs::TDriveNumber()*/ { return KErrNotSupported; }#endif